Показать сообщение отдельно
  #9 (permalink)  
Старый 12.03.2008, 21:11
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Сообщение от Андрей Параничев
Нет, с этим нету проблем, если на сервере разрешено сокетное подключение.
А на всех платных хостингах включена эта возможность? или есть какие либо ограничения? или, как узнать доступно это или нет?

Вот, подправил немного код. Исправил ошибку, и сделал более универсальным:
function par_str($str,$start,$end){
$res = substr($str,strpos($str,$start)+strlen($start),strlen($str));
if ($end!=null) $res = substr($res,0,strpos($res,$end));
echo($res);
return $res;
}
function get_contents($url){
$url_host = par_str($url,"http://","/");
$url_get = par_str($url,$url_host,null);
$fp = fsockopen($url_host, 80, $errno, $errstr, 30);
if ($fp) {
    $out = "GET ".$url_get." HTTP/1.1\r\n"
             ."Host: ".$url_host."\r\n"
             ."Connection: Close\r\n"
             ."\r\n";
			 

    fwrite($fp, $out);
	$result="";
    while (!feof($fp)) {
        $result .= fgets($fp, 128);
	}
	$result=substr($result,strpos($result,"\r\n\r\n")+4,strlen($result));
	$result=substr($result,strpos($result,"\r\n")+2,strlen($result));
    fclose($fp);
return $result;
}
}


а ошибка была у тебя, точку надо поставить, что бы объединить все:

while (!feof($fp)) {
        $result .= fgets($fp, 128);
    }
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием