file_get_contents()
не читает данные для коротких URL-адресов Пример:
Пожалуйста, помогите мне справиться с этим. ИЛИ Есть ли функция CURL для обработки вышеуказанных ссылок?
Это вообще прекрасно работает. Если вы обнаружите, что не правильно, вы можете явно использовать контекст потока:
$url = "http://bit.ly/d00E2C"; $context = stream_context_create(array('http' => array('max_redirects' => 5))); $val = file_get_contents($url, false, $context);
должен это сделать. Не нужно прикасаться к CURL.
На моей машине я не могу воспроизвести вашу проблему; Я получаю страницу по своему усмотрению. Однако, если проблема связана с перенаправлением, это может решить вашу проблему.
<?php $opts = array( 'http' => array( 'follow_location' => 1, 'max_redirects' => 20 ) ); $context = stream_context_create($opts); echo file_get_contents('http://wp.me/pbZy8-1WM', false, $context);
Я предполагаю, что может быть директива, которая переключает перенаправление, но я еще не нашел ее. Я отредактирую свой ответ, если я буду.
Что вы можете сделать, это использовать curl с CURLOPT_FOLLOWLOCATION, установленным в True:
$ch = curl_init("http://bit.ly/d00E2C"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $result = curl_exec($ch); curl_close($ch); echo $result;