PHP: copy () как-то портит права доступа к файлам - PullRequest
3 голосов
/ 17 мая 2011

У меня на сайте есть загрузчик изображений ...

Изображение загружено во временную папку 777 (это изображение работает нормально и может быть удалено), затем я копирую этот файл в новый каталогcopy() новый файл записывается в папку 777, но не может быть удален.chmod(), похоже, не помогает ...

Почему функция copy() создает новый файл, который отличается от исходного файла?Я не вижу различий в моем FTP-клиенте.ОБА есть перми 644 и пользователь nobody / 99 - но это проблема только для второго файла.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 17 мая 2011

Вам нужно вручную установить биты прав доступа: попробуйте это.

copy($temp_img_url, $save_file_as); chmod($save_file_as, fileperms($temp_img_url));
3 голосов
/ 30 мая 2011

Проблема была в родительской папке.

Мне нужно было chmod() родительская папка, хотя я сделал это с 777 перми ....

2 голосов
/ 17 мая 2011

Потому что copy() делает новую копию файла.Только его содержимое останется прежним.Разрешения нового файла контролируются настройкой umask() вашего скрипта, а новое имя файла контролируется вами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...