Как удалить файл с моего сервера с помощью PHP, если файл находится в другом каталоге?
Вот мой макет страницы:
projects/backend/removeProjectData.php
(этот файл удаляет все мои записи для базы данных, а также должен удалить связанный файл)public_files/22.pdf
(место, где находится файл.)
Я использую unlink
функцию:
unlink('../../public_files/' . $fileName);
Но это всегда дает мне ошибку, что файл не существует. Любые идеи?
Ответы:
Следующее должно помочь
realpath
- возвращает канонизированный абсолютный путьis_writable
- Сообщает, можно ли записать имя файлаunlink
- удаляет файлЗапустите ваш путь к файлу через realpath, затем проверьте, доступен ли для записи возвращаемый путь, и если да, отсоедините его.
источник
источник
file_exists
функции. В противном случае вы получите ошибку, если файл не существует.Прежде всего, проверьте свои права доступа к файлу, чтобы убедиться, что вы можете: а) увидеть его в своем скрипте и б) иметь возможность удалить его.
Вы также можете использовать путь, рассчитанный из каталога, в котором вы в настоящий момент запускаете скрипт, например:
(в PHP 5.3 я думаю, что вы можете использовать
__DIR__
константу вместо,dirname()
но я сам еще не использовал ее)источник
Вы можете удалить файл, используя
но если вы удаляете файл из его http-пути, то эта ссылка не работает должным образом. Вы должны указать правильный путь к файлу.
источник
Решение AIO, справляется со всем, это не моя работа, я просто улучшил себя. Наслаждайтесь!
источник
unlink
качестве имени для своей функции.Я знаю, что этот вопрос немного устарел, но это нечто простое, что очень хорошо работает для меня, удаляя изображения из моего проекта, над которым я работаю.
В
dirname(__FILE__)
разделе выводится базовый путь к вашему проекту. Это/img/tasks/
две папки ниже моего основного пути. И, наконец, я хочу удалить мое изображение, которое вы можете превратить во что угодно.При этом у меня не было проблем с получением файлов на моем сервере и их удалением.
источник