2014-11-22 3 views
0

У меня есть страница на моем веб-сайте, у которой очень длительное время выполнения, я решил проблему с тем, что она была слишком медленной, когда мы писали содержимое, но теперь мне нужно загрузить ее с другого сайта, если бы мне пришлось делать это с моего сайта, то было бы достаточно, но, поскольку мне нужно загрузить его с другого сайта, я думал об использовании file_get_contents, проблема в том, что таким образом флеши не работают, а страница занимает много времени, чтобы загрузить, я слышал, что раствор с использованием fsockopen и Fread, поэтому я попытался использовать некоторые примеры, и я получаю вещь как этотВложенная папка PHP fsockopen

<?php 
    ob_start(); 
    $fp = fsockopen("www.mysite.com", 80); 
    if (!$fp) { 
    echo "$errstr ($errno)<br />\n"; 
    } else { 
    fwrite($fp, "Data sent by socket"); 
    $content = ""; 
    while (!feof($fp)) { 
     $content .= fread($fp, 1024); 
     ob_flush(); 
    } 
    fclose($fp); 
    echo $content; 
    } 
?> 

проблема в том, что если я это сделать его работа, но когда я попробую что-то вроде

<?php 
    ob_start(); 
    $fp = fsockopen("www.mysite.com/subfolder/index.php", 80); 
    if (!$fp) { 
    echo "$errstr ($errno)<br />\n"; 
    } else { 
    fwrite($fp, "Data sent by socket"); 
    $content = ""; 
    while (!feof($fp)) { 
     $content .= fread($fp, 1024); 
     ob_flush(); 
    } 
    fclose($fp); 
    echo $content; 
    } 
?> 

Это говорит мне что-то вроде:
Внимание: fsockopen(): php_network_getaddresses: getaddrinfo не удалось: Нет такого хоста не известно. на линии 2

Что я принимаю?

ответ

1

UPDATE: решаемые себя: правильный код

<?php 
    function HTTP_Post($URL) { 
    ob_start(); 
    $URL_Info=parse_url($URL); 
    $fp = fsockopen($URL_Info["host"],80); 
    fwrite($fp, "GET ".$URL_Info["path"]." HTTP/1.0\r\n"); 
    fwrite($fp, "Host: ".$URL_Info["host"]."\r\n"); 
    fwrite($fp, "Connection: Close\r\n\r\n"); 
    while(!feof($fp)) { 
     echo fgets($fp, 1024); 
     ob_flush(); 
     flush(); 
    } 
    fclose($fp); 
    } 
    ini_set('max_execution_time', 300); 
    HTTP_Post("http://www.corriere.it/cronache/"); 
?>