2017-02-09 1 views
0

bekommen, wie Ladezeit und Seitengröße in PHP zu bekommen. Ich verwende folgende Technik Ladezeit zu bekommen, aber wir es besser machen Option haben die Ladezeit zu berechnen. (Jede Technik, die Ladezeit von Header oder eine andere Technik zu erhalten)Wie man externe Webseite Größe und Ladezeit in PHP

$t = microtime(TRUE); 
$file = file_get_contents("http://google.com/"); 
print_r($file); 
$t = microtime(TRUE) - $t; 
print "It took $t seconds!"; 

Ich muss nur bestätigen, wenn dies Die richtige Technik oder wir haben bessere Wahl und wie man Webseitengröße in PHP berechnet.

Codepage Größe

$url = 'http://xAppsol.com/'; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 

$response = curl_exec($ch); 

$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); 
print_r($header_size); 

Dieser Code bietet mit Kopfgröße zu erhalten, die in Kb ist aber, wie Größe der Bilder und Videos auf Web-Seite zu überprüfen. wie man die genaue Größe aller Sachen auf der Webseite berechnet, die in MB sind.

Antwort

0

Soweit ich weiß, müssen Sie die Seite analysieren und die Größe für jedes Element erhalten.

$url = 'http://google.com/'; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
$subject = curl_exec($curl); 
//get the download size of page 
print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>'); 

preg_match_all('/(?:src=)"([^"]*)"/m', $subject, $matchessrc); 

preg_match_all('/link.*\s*(?:href=)"([^"]*)"/m', $subject, $matcheslink); 

$matches = array_merge($matchessrc[1], $matcheslink[1]); 

$domain = parse_url($url, PHP_URL_SCHEME). '://'.parse_url($url, PHP_URL_HOST); 
$path = parse_url($url, PHP_URL_PATH); 

$checked = array(); 
foreach($matches as $m) 
{ 
    if($m[0] == '/') 
     $m = $domain.$m; 
    elseif(substr($m, 0, 5) != 'http:' and substr($m, 0, 6) != 'https:') 
     $m = $domain.'/'.$path.'/'.$m; 

    if(in_array($m, $checked)) 
     continue; 

    $checked[] = $m; 

    $curl = curl_init($m); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
    $subject = curl_exec($curl); 
    //get the download size of element 
    print("Download size: " . curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD) .'<br>'); 
} 

Dies wird Form src Elemente (in der Regel Bilder und Skripte) und href in <link> (in der Regel CSS) suchen.