File_get_contents

Статус
В этой теме нельзя размещать новые ответы.

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Пытаюсь получить содержимое страницы, а получаю ошибку:

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/www/****.php on line 3

Warning: file_get_contents(Для просмотра ссылки Войди или Зарегистрируйся) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/www/****.php on line 3

Как можно получить содержимое страницы?
 
Для этой функции запрещено в конфигурации обращение по http адресам.
Попробуй заменить её на Для просмотра ссылки Войди или Зарегистрируйся.
 
Честно сказать, никогда с курлом не работал.
Подскажите пожалуйста, что надо написать, чтобы получить содержимое site.com
 
Честно сказать, никогда с курлом не работал.
Подскажите пожалуйста, что надо написать, чтобы получить содержимое site.com
PHP:
$url = "http://site.com"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
curl_close($ch);  
echo $result;
 
Можно ещё попроболвать включить в конфигурационном файле в домашней директории на сервере эту возможность.
 
Ещё вопрос.
Получаю содержимое страницы через file_get_contents в цикле фор.
Если вдруг сайт не доступен, то цикл останавливается.
Какую замену можно найти file_get_contents, чтобы если не получилось достучаться до сайта - пробовал получить информацию до тех пор пока операция не завершиться удачно.
 
Ещё вопрос.
Получаю содержимое страницы через file_get_contents в цикле фор.
Если вдруг сайт не доступен, то цикл останавливается.
Какую замену можно найти file_get_contents, чтобы если не получилось достучаться до сайта - пробовал получить информацию до тех пор пока операция не завершиться удачно.
используй Curl, там есть параметр CURLOPT_TIMEOUT - The maximum number of seconds to allow cURL functions to execute.
Для просмотра ссылки Войди или Зарегистрируйся
 
Поставил timeout 12000
Не помогло.

Поставил условие
PHP:
for ($i=1;$i<30000;$i++){
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,12000);
$test = curl_exec($ch);
curl_close($ch);  
if ($test){
выполнять парсинг; добавление результатов в БД;}
}

Один раз может отработать отлично, другой раз на 5% отрубится. А другой раз может на 95% прекратить парсить.
При успешном завершении скрипта должен вывести Финиш,но выводит белый экран.
 
А скрипт по таймауту у тебя случаем в белое окно не вываливается?
 
Этот скрипт я так понял для примера приведен? Там не хватает пару строк и один и тот же урл 30000 раз качается
действительно, попробуй поставить в самом начале
set_time_limit(0);
учти, что это снисает ограничения на время выполнения скрипта, и если где то ошибка может подвиснуть
set_time_limit(600); - таймаут на 600 сек
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху