У меня возникла проблема с удалением видеофайлов из папки с помощью функции php unlink(), изображение удаляется, но при попытке удалить видео он говорит
unlink(file_path) : permission denied.
это проблема с разрешением. Вы можете читать, писать или выполнять только файл, для которого установлены разрешения, разрешающие эту операцию. Так что прочтите руководство по CHMOD или установите права доступа 777 к вашему файлу.
@jrswgtr, я не знаю, как это проверить в Windows, я использую Windows 7. Но изображения и видео находятся в одном каталоге






Вам (запускающему сценарий как через интерфейс командной строки, так и через веб-сервер) требуется доступ на запись в каталог, в котором расположены файлы. так что доступа к файлу недостаточно.
Ваш каталог изображений будет другим и доступен для записи для веб-сервера или cli.
chmod("your/video/dir/path",0777);
попробуйте использовать приведенный выше код, прежде чем отключать видео в сценарии.
если это связано с разрешением, то как изображения удаляются из одного каталога?
хорошо .. если он находится в том же каталоге, проверьте право собственности на файлы и разрешения на то же самое ... сравните его с изображениями,
Спасибо, я проверил видеофайл, в нем установлен флажок «Только для чтения», я снял его, и все работало нормально.
Обновлено: похоже, вы используете Windows. К сожалению, мой ответ касается Unix-подобных операционных систем (например, Linux, MacOS). Вы можете попробовать установить расширение Bash для Win8 +, но я все же не уверен, что это сработает. Тем не менее, я сохраняю свой ответ на случай, если кто-то, у кого возникнет аналогичная проблема, ищет здесь ответ.
Изменение разрешений через PHP может работать в некоторых случаях, но не всегда, потому что, если у вас нет разрешений на удаление файла, у вас также может не быть разрешений на их изменение.
Лучшее решение - создать каталог, в котором вы будете хранить файлы, к которым PHP будет иметь полный доступ. Назовем его dirname. После того, как вы создали каталог, измените его владельца и группу на тот, который соответствует имени пользователя вашего веб-сервера (если вы используете Apache, это «www-data»), например: chown www-data:www-data dirname.
Как только вы это сделаете, измените права доступа к папке. Мое предложение - 744, он гарантирует, что пользователь, которому он принадлежит, будет иметь все разрешения, а все остальные смогут только его читать. Для этого выполните следующую команду: chmod -R 777 dirname.
Теперь вы должны иметь возможность делать все, что захотите, с файлами в заданном каталоге прямо из PHP.
Разрешения файлов для изображений такие же, как и для видео?