Сохранение HTML-страницы на диске локального компьютера?
Вопрос:как средствами PHP сохранить на диске страницу погоды с автоматическим обновлением через каждые 6 часов?
Всё просто: использовать функции file_get_contents("http://...") и file_put_contents("C:\\..\\..\\file.html"). Вызывать скрипт каждые 6 часов.
"Вызывать скрипт каждые 6 часов."
Как? Какими средствами веб-программирования это возможно? Кроме setInterval
Вопрос не праздный, самому надо.
Вопрос и правда глупый :) Полистай этот раздел, тут они каждую неделю поднимаются. Навскидку - планировщик задач Windows или man cron на остальных системах :)
$somecontent="http://www.gismeteo.ru/towns/34300.htm";
$handle = file_get_contents($somecontent);
file_put_contents("С:\\www\\pogoda\\1.html",$handle);
А вот ошибка которую мне выдает браузер:
Warning: file_put_contents(С:\www\pogoda) [function.file-put-contents]: failed to open stream: Invalid argument in C:\www\html\pogoda.php on line 14
Что я сделал неправильно?
Может надо поменять что-то в настройках Apache или PHP?
В php.ini запрещены внешние ссылки (открытие). Читай ман как включить.
В php.ini safe_mode=Off т.е выключен,так что все должно работать нормально.
Цитата: shaelf
В php.ini запрещены внешние ссылки (открытие). Читай ман как включить.
Ссылка открывается. Тут речь про запись.
Ок :) Перефразирую немного. В php.ini запрещено открытие внешних урлов для функций: file_get_contents(), fopen() и т.д.
Цитата: shaelf
Ок :) Перефразирую немного. В php.ini запрещено открытие внешних урлов для функций: file_get_contents(), fopen() и т.д.
А конкретно какая директива отвечает за это?
Мой совет посмотреть ман был проигнорирован?
В файле php.ini директива allow_url_fopen по умолчанию включена.Так что при чтении файла ошибку не выдает.А выдает ее при записи в файл созданного потока.В чем проблема? Помогите разобраться.
а надо было "c:/.../....".
Спасибо foxweb за помощь.