PHP — перенос файлов из одного каталога в другой — отказано в разрешении для изображений

#php #permissions

#php #разрешения

Вопрос:

Я перенес файлы из одного каталога в другой с:

 cp -rfpn "${OLD_WWW_DIR}/users/img/." "${NEW_WWW_DIR}/users/img"
  

Однако, когда я хочу переписать изображение в PHP-скрипте (пользователь обновляет свой аватар через форму), я получил:

Предупреждение: imagejpeg(/var/www/new_web/www/users/img/avatar_456.jpg ): не удалось открыть поток: отказано в разрешении в «имени скрипта» в строке «xy»

Как решить эту проблему и правильно установить права при копировании?

Ответ №1:

 cp -rfpn
  

Параметр -p должен сохранять право собственности на файл. Вы уверены, что разрешения для исходного файла позволяли PHP записывать в него?

В Linux вы можете изменить разрешения и владельца с помощью chmod и chown соответственно.