使用fopen手柄时,加载时间变得非常庞大。大约需要10秒钟左右。
$handle = fopen("http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player={$pname}", "r");
if (FALSE === $handle) {
echo "Failed";
exit("Failed to open stream to URL");
}
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 32);
}
以上是我正在使用的代码。 这是一种效率低下的方法吗?如果是这样,那么有效的方法是什么?
我也会将这些结果分解并打印出来。但即使在删除结果部分的打印后,加载时间也没有改变。
答案 0 :(得分:0)
如果您使用其他方式来执行http请求,也许您可以加快速度。
您可以使用cURL:
$url = "http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player={$pname}";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_TIMEOUT, 10);
$contents = curl_exec($c);
curl_close($c);
或者尝试通过:
$contents = file_get_contents( "http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player={$pname}" );