Разрешение на запись в папку - PullRequest
2 голосов
/ 08 мая 2011

Если я не ошибаюсь, чтобы создать или удалить файл из каталога, вам необходимо либо разрешение на запись в эту папку, либо разрешение на запись в этот файл (в случае, если вы изменяете его).Итак, в папке с разрешениями 711 и сценарием php (в этой папке) с разрешениями 755 и следующим кодом:

$fileName = "createdFile.txt";
$fileHandle = fopen($fileName, 'w') or die("can't open file");
fclose($fileHandle);

Должно ли это создать новый файл или выдать ошибку?Я пробовал это в папке public_html веб-сервера, и он работает, что удивляет меня из-за того, что я упомянул.

Более того, я немного запутался в отношении разрешений для «всех» в случаевеб-сервер.Если у вас есть 777 разрешений для папки, но нет php-сценария, который мог бы действительно записывать или перемещать файлы в эту папку, есть ли риск вообще?Или это должен быть ftp-доступ или какой-нибудь php-скрипт?

Извините за запутанный вопрос.Я постараюсь уточнить, если смогу.

Ответы [ 2 ]

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

Трудно дать гораздо лучший ответ из-за ограниченной информации о созданном файле, который вы можете предоставить, но я предполагаю, что сервер работает от того же пользователя, с которым вы загружаете файлы.Это единственное объяснение, что у меня есть возможность создать файл в каталоге с правами доступа 755.

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

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

755 для чтения и выполнения, а не для записи
Вам потребуются разрешения на запись 766 или 777

ОК, немного больше помощи.Можно с уверенностью сказать, что учетная запись пользователя, под которой запускается сценарий php, владеет папкой, а поскольку первая цифра - «7», «владелец» имеет права на чтение и выполнение.

...