Как я могу исправить права доступа к файлам (и владельца / группы), чтобы файлы, загруженные с помощью php, могли быть удалены? - PullRequest
1 голос
/ 16 июля 2011

У меня есть скрипт, который загружает файлы в каталог с правами доступа 0644. Я не могу удалить файл через FTP или с помощью функции PHP unlink () (ошибка 550).После поиска в Интернете я не смог найти метод, чтобы решить эту проблему.Я знаю, что проблема связана с разрешениями группы / владельца, но я не знаю, как решить проблему.

Стоит ли использовать вместо него copy () или rename ()?

Любые идеи?

Редактировать: Все загруженные файлы имеют владельца / группу, установленную как: 48 48. Все остальные файлы, которые я загрузил через FTP, а НЕ сценарий PHP, являются 1006 1006.владелец / группа установлена ​​для неверного пользователя?Я уже пытался использовать chmod () для установки разрешений на 0666. Я думаю, что проблема может быть с пользователем?

Редактировать 2: Должен ли я использовать exec () и запустить команду, котораяменяет владельца и группу файла?

Ответы [ 3 ]

0 голосов
/ 16 июля 2011

, если вы используете функцию move_uploaded_file();, права доступа установлены правильно, поэтому unlink ();должно работать

попробуйте это

move_uploaded_file($from, $to);
chmod($to, 0666);
0 голосов
/ 16 июля 2011

Вам понадобится разрешение на запись для удаления файла. 6 представляет чтение / запись. Первое число после нуля представляет владельца файла, который его создал. Если вы запускаете сценарий для создания файла, вы сможете удалить его, если используете одного и того же пользователя, возможно, пользователя сервера.

0 голосов
/ 16 июля 2011

Это зависит от того, от какого пользователя запущен ваш скрипт. Попробуйте загрузить файлы как 0655 вместо

...