unlink () не работает

0
  for($i=0; $i<count($_POST['list']); $i++) { 
            echo $_POST['list'][$i]; 
            if(is_file($_POST['list'][$i])) echo "ok"; else echo "false";
            unlink($_POST['list'][$i]);
       }

Я пытаюсь удалить файл изображения на моем сервере.

echo $_POST['list'][$i] выходы ../Profile/JPN012/test2.JPG (маршрут изображения).

BUT is_file() и unlink() не работают. Хотя я изменил разрешение всего каталога и file(0777) изображения file(0777), он не работает.

(ОС Linux)

В чем проблема??

  • 0
    Проверьте регистр и проверьте правильность относительного пути. Тебе будет безопаснее с абсолютным путем.
  • 0
    Какую ошибку показывают? не могли бы вы добавить свою ошибку
Показать ещё 1 комментарий
Теги:
unlink

2 ответа

0
Лучший ответ

Я думаю, что проблема заключается в аргументе файла пути в is_file и отключении. Если вы можете изменить каталог, где находится файл, перед вызовом is_file или отсоединением, это будет проще. После этого вы можете использовать только имя файла, например is_file ('test2.png').

   <?php
    $old = getcwd(); // Save the current directory
    chdir($path_to_file);
    unlink($filename);
    chdir($old); // Restore the old working directory    
   ?>

(источник: http://au1.php.net/chdir)

  • 0
    Я думаю, что почти решаю эту проблему, но я получаю одно препятствие. разъединить ( "test.jpg"); работает, но отсоединяется ($ _ POST ['list'] [$ i]); не работает ($ _ POST ['list'] [$ i] - это имя файла, например test.jpg), что означает, что жесткое кодирование работает, а другое - нет ....
  • 0
    я думаю, вам нужно проверить вывод $ _POST ['list'] [$ i]. Отображается ли только имя файла? Вам также необходимо позаботиться о пробелах, начиная и заканчивая тестирование.
0

проверьте путь на сервере, он, скорее всего, будет

$compositefilename = PATH_TO_YOUR_WEB_ROOT . "/composite/" . $compositeresult;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню