Предупреждение: file_put_contents - не может создать файл, используя php - PullRequest
2 голосов
/ 18 марта 2012

Когда я пытаюсь сделать это:

$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

что я делаю не так?

спасибо

Ответы [ 4 ]

3 голосов
/ 18 марта 2012

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

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

file_put_contents('stats/file.html',$txt); // removed "/" prefix
1 голос
/ 18 марта 2012

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

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

1 голос
/ 18 марта 2012

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

$txt = file_get_contents('http://stats.pingdom.com/file');
file_put_contents(dirname(__FILE__) . '/stats/file.html', $txt);
0 голосов
/ 18 марта 2012

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

...