如何在php中获取外部网页大小和加载时间
如何在php中获得加载时间和页面大小。 我使用以下技术来获得加载时间,但我们是否有更好的选择来计算加载时间。(任何从标题或其他技术获得加载时间的技术) 我只需要确认这是否是正确的技术,或者我们有更好的选择,以及如何用php计算网页大小 获取页面大小的代码如何在php中获取外部网页大小和加载时间,php,curl,http-headers,Php,Curl,Http Headers,如何在php中获得加载时间和页面大小。 我使用以下技术来获得加载时间,但我们是否有更好的选择来计算加载时间。(任何从标题或其他技术获得加载时间的技术) 我只需要确认这是否是正确的技术,或者我们有更好的选择,以及如何用php计算网页大小 获取页面大小的代码 $url = 'http://xAppsol.com/'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOP
$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);
这段代码提供了以Kb为单位的标题大小,但如何检查网页上图像和视频的大小。如何计算网页上所有内容的确切大小,以MB为单位。据我所知,您需要解析页面并获得每个元素的大小
$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>');
}
$url='1!'http://google.com/';
$curl=curl\u init($url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
//获取页面的下载大小
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
preg_match_all('/(?:src=)“([^”]*)”/m',$subject,$matchesrc);
preg_match_all('/link.*\s*(?:href=)”([^“]*)“/m',$subject,$matcheslink);
$matches=array_merge($matchesrc[1],$matcheslink[1]);
$domain=parse_url($url,PHP_url_SCHEME)。“:/”。解析url($url,PHP\uURL\uHost);
$path=parse_url($url,PHP_url_path);
$checked=array();
foreach(匹配为$m)
{
如果($m[0]=='/'))
$m=$domain.$m;
elseif(substr($m,0,5)!='http:'和substr($m,0,6)!='https:')
$m=$domain.'/'.$path.'/'.$m;
if(在数组中($m,$checked))
继续;
$checked[]=$m;
$curl=curl_init($m);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
//获取元素的下载大小
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
}
这将搜索表单src元素(通常是图像和脚本)和
中的href(通常是css)。据我所知,您需要解析页面并获取每个元素的大小
$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>');
}
$url='1!'http://google.com/';
$curl=curl\u init($url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
//获取页面的下载大小
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
preg_match_all('/(?:src=)“([^”]*)”/m',$subject,$matchesrc);
preg_match_all('/link.*\s*(?:href=)”([^“]*)“/m',$subject,$matcheslink);
$matches=array_merge($matchesrc[1],$matcheslink[1]);
$domain=parse_url($url,PHP_url_SCHEME)。“:/”。解析url($url,PHP\uURL\uHost);
$path=parse_url($url,PHP_url_path);
$checked=array();
foreach(匹配为$m)
{
如果($m[0]=='/'))
$m=$domain.$m;
elseif(substr($m,0,5)!='http:'和substr($m,0,6)!='https:')
$m=$domain.'/'.$path.'/'.$m;
if(在数组中($m,$checked))
继续;
$checked[]=$m;
$curl=curl_init($m);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$subject=curl\u exec($curl);
//获取元素的下载大小
打印(“下载大小:.curl\u getinfo($curl,CURLINFO\u size\u Download)。”
);
}
这将搜索表单src元素(通常是图像和脚本)和
中的href(通常是css)