Как заменить file_get_contents на Zend_Http_Client? (Различия в кодировке и т. Д.) - PullRequest
2 голосов
/ 03 марта 2011

Как заменить file_get_contents на Zend_Http_Client? (Разница в кодировке и т. Д.)

код, который следует заменить:

$url='http://google.com';$timeout=60;
$t = stream_context_create(array('http' => array('timeout' => $timeout)));
$content = @file_get_contents($url,0,$t);

Мое решение:

$url='http://google.com';$timeout=60;
$client = new Zend_Http_Client($url, array('timeout' => $timeout));
$content=$client->request()->getBody();

пожалуйста, у вас есть лучшее решение, у моего решения есть слабые части?


Редактировать: Улучшенное решение

function getResponse($url='http://google.com',$timeout=60){
    $client = new Zend_Http_Client($url, array('timeout' => $timeout));
    if($content->isError())    {
            return null;
    }
    return $content->getBody();
 }

Примечание:Лучше всего использовать адаптер curl, который работает намного быстрее.

Спасибо, Yosef

1 Ответ

1 голос
/ 03 марта 2011

Все в порядке.Вы также можете проверить, что такое код ответа, и действовать исходя из этого.Вы можете получить коды, такие как 500, 404 или 403 в некоторых случаях.

...