2012-03-17 3 views
2

Когда я пытаюсь сделать это:Предупреждение: file_put_contents - не может создать файл с помощью PHP

$txt = file_get_contents('http://stats.pingdom.com/file'); 
file_put_contents('/stats/file.html',$txt); 

я получаю следующее сообщение об ошибке:

Warning: file_put_contents(stats/stats.html) [function.file-put-contents]: failed to open stream: Permission denied in /home/jtf/public_html/index.php on line 2 

статистику папок является 777

, что я делаю неправильно?

благодаря

ответ

3

/stats и stats (или эквивалент, ./stats), не обязательно в том же каталоге (на самом деле они могут относиться к одной и той же директории только в теории). Скорее всего, вы в настоящее время пытаетесь записать в каталог, который даже не существует.

Так это должно работать:

file_put_contents('stats/file.html',$txt); // removed "/" prefix 
+0

OP должен отметить этот ответ как правильный. TYVM Jon – loostro

+0

Я полагаю, вы имеете в виду: «Итак, это должно работать [если каталог статистики существует]» –

1

Попробуйте это:

$txt = file_get_contents('http://stats.pingdom.com/file'); 
file_put_contents(dirname(__FILE__) . '/stats/file.html', $txt); 
0

Ваш путь указывает / вместо /home/jtf/public_html/
Просто используйте ../

1

Там нет /stats/ папки в Я считаю, что корневая директория на вашем сервере.

Примечание: /home/jtf/public_html/ Путь. Вы должны использовать это для обращения к файлам в корневом каталоге документа вашего веб-сервера.

Смежные вопросы