2016-08-14 3 views
0

Ich verwende diese Methode, um Daten aus HTML einer Website zu extrahieren. Aber manchmal bleibt es hängen. Wie verhindere ich, dass das Timedout überschritten wird? Anstatt lieber einige seltsame Fehler zu geben, sollte man einfach sagen; können jetzt nicht Abrufs führenWie verhindere ich das Timedout?

$html = file_get_contents('https://homeshopping.pk/search.php?category%5B%5D=&search_query='.$homeshoppingSearch); 
$pk_doc = new DOMDocument(); 
libxml_use_internal_errors(TRUE); 

if(!empty($html)){ 

$pk_doc->loadHTML($html); 
libxml_clear_errors(); 

$pk_xpath = new DOMXPath($pk_doc); 
/
//Homeshopping 
$pk_row = $pk_xpath->query('//a[@class=""]'); 
$pk_row2 = $pk_xpath->query('//a[@class="price"]'); 
$pk_row3 = $pk_xpath->query('(//a[@class="price"])//@href'); 

//HomeShopping 
if($pk_row->length > 0){ 
    $rowarray = array(); 
    foreach($pk_row as $row){ 
     $rowarray[]= $row->nodeValue; 
     // echo $row->nodeValue . "<br/>"; 
    } 
} 
if($pk_row2->length > 0){ 
    $row2array = array(); 
    foreach($pk_row2 as $row2){ 
     $row2array[]=$row2->nodeValue; 
     // echo $row2->nodeValue . "<br/>"; 
    } 
} 
if($pk_row3->length > 0){ 
    $row3array = array(); 
    foreach($pk_row3 as $row3){ 
     $row3array[]=$row3->nodeValue; 
     //echo $row3->nodeValue . "<br/>"; 
    } 
} 
} 

Antwort

0

Sie können die set_time_limit Funktion versuchen Sie es mit. Damit können Sie festlegen, wie lange die Ausführungszeit

sein kann

Eine andere Möglichkeit wäre es, die Frist direkt im php ini zu setzen, wenn Sie die Rechte haben es

zu bearbeiten
Verwandte Themen