Почему file_put_contents отказываются работать для следующего кода?
$f = file_put_contents("files/r.js", "Some text here");
if ($f) print 1;
else print 0;
Почему file_put_contents отказываются работать для следующего кода?
$f = file_put_contents("files/r.js", "Some text here");
if ($f) print 1;
else print 0;
Является ли каталог /files
изменен до 777? иногда php не позволит вам получить доступ к каталогам, если у них недостаточно прав. Однако я не знаю о пустых ошибках.
Попробуйте проверить, есть ли у него достаточно разрешений, если нет, тогда установите его на 777 и попробуйте.
Используете ли вы полный путь к файловой системе или пытаетесь использовать URI? Я думаю, что эта функция PHP ожидает, что вы укажете путь, поскольку файл найден в файловой системе.
Относительные пути должны быть в порядке, хотя.
Вам может потребоваться убедиться, что файл существует и что его разрешения установлены на 777. Иногда я обнаружил, что этого недостаточно, чтобы иметь права доступа к каталогу, равные 777, но файл также должен существовать.
Мы испытали это, требуя обходного пути (независимо от метода, разрешений и всего остального, упомянутого здесь). Когда все остальные исправления не удались, мы обнаружили, что он может быть связан с ограничениями, созданными SELinux.
Если вы используете Windows, следующее решение отлично работает для меня на Windows 10 под управлением PHP 5.5.38
Если у вас возникла эта проблема в Windows/IIS, попробуйте следующее:
Шаги могут немного отличаться для разных версий окон. Это также относится к ASP.NET, хотя я думаю, что добавленные вами пользователи - это пользователи сети (пользователи NETWORK AND ORWORK SERVICE), а также IUSR.