chmod — файл не существует

#php

#php

Вопрос:

Я получил файл, который находится в /uploads/original/img_329020110508094322.jpg

Когда я это сделаю <img src="/uploads/original/img_329020110508094322.jpg" /> , он будет отображаться правильно

Я хочу изменить права пользователя на 0606, поэтому я делаю chmod($this->fileName, 0606);

(в $this-> fileName хранится указанный выше путь) но все, что я получаю, это то, что файл или каталог не существует.

Почему?

Ответ №1:

chmod() работает в вашей файловой системе. Вы должны указать на файл изображения в вашей файловой системе, а не на вашем веб-сервере.

Комментарии:

1. ну ладно. Итак, мне нужно получить /var/www/app_folder/uploads/original/img_329020110508094322.jpg вместо этого спасибо

Ответ №2:

потому что ваш путь относится к вашему веб-корню. добавьте местоположение вашего веб-корня перед именем файла, и chmod должен работать.

я пытаюсь сказать, что chmod использует точные пути в вашей файловой системе 🙂

Комментарии:

1. Предполагая, что ни один из путей в URL не является псевдонимами в другом месте.

2. и под «вашим путем» или «именем файла» я подразумеваю путь, который у вас есть в $this-> fileName

3. @igna это верно! однако часто существуют простые наборы правил для описания взаимосвязи между веб-расположением файла и его расположением в файловой системе. в простейших конфигурациях веб-сервера мое правило верно ^^ так что будьте осторожны @ndef! вам следует искать правило, описывающее эту корреляцию. мое может сработать! возможно, это не так 😉