File_get_contents не получает страницу полностью?

file_get_contents не получает страницу полностью, а только часть страницы. В чем может быть проблема?
  • Вопрос задан
  • 8503 просмотра
Решения вопроса 1
Stdit
@Stdit
Сервер отдаёт только первый чанк, видимо криво настроен. Её в текстовой форме не может скачать ни curl, ни wget. Браузер получает полную страницу потому, что использует gzip. Чтобы получить полную страницу через gzip на php, надо сделать что-то такое:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://nightout.ru/photoreport/alpen-grotte/after-party-zolotoi-sostav-0?page=0');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip'));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
echo gzinflate(substr($result,10));
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
dali
@dali
не мучайтесь с file_get_contents, используйте cURL для получения страницы, у меня он даже быстрее отрабатывает чем file_get_contents. Перешел на cURL после ошибок вида PHP Warning: file_get_contents('...'): failed to open stream: Connection timed out in /var/www/…
Ответ написан
Sincous
@Sincous
Использовал file_get_contents, fsockopen, потом как заметили выше перешел на cURL, и даже это не решило проблему. (использовал на скачке изображений из вконтакте).
Поэтому для страниц где не нужна авторизация а нужно лишь получение контента рекоменлую просто
<?php
$l = file($url);
$content = implode('', $l);
?>
Ответ написан
Meliborn
@Meliborn
В отсутствии подробностей в вопросе.
Ответ написан
1. www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen?
2. error_reporting(E_ALL); ini_set('display_errors', true) // это так, на авось

3. Плохой протокол не ХТТП 1.1 а 1.0? Transfer-Encoding:chunked? www.php.net/manual/en/context.http.php «PHP prior to 5.3.0 does not implement chunked transfer decoding.».
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 18:27
200000 руб./за проект
26 апр. 2024, в 18:24
80000 руб./за проект
26 апр. 2024, в 18:00
500 руб./за проект