【发布时间】:2017-10-21 17:22:09
【问题描述】:
当我提交时,此代码需要 5 秒才能运行。我应该怎么做才能获得更好的表现?首先,我使用了 file_gets_content,但这需要更多时间。 我拆分名称,因为我需要名字和姓氏才能将其添加到 url。 URL = URL + 姓氏 + 名字。
<form method='post' action='index.php'>
<input type='submit' name='submit'>
</form>
<?php
/* This is how the URL should look like
// $url = "http://api.suredbits.com/nfl/v0/stats/wagner/bobby";
*/
$url = "http://api.suredbits.com/nfl/v0/stats/";
if(isset($_POST['submit'])) {
$names = array();
array_push($names, 'Bobby Wagner', 'Zach Brown', 'Mason Foster',
'Preston Smith', 'Josh Norman', 'Ryan Kerrigan',
'Earl Thomas', 'Richard Sherman', 'Chandler Jones',
'Marcus Peters');
foreach($names as $n) {
$split_name = explode(" ", $n);
$url .= $split_name[1] . '/' . $split_name[0];
//get json
$data = loadFile($url);
$json_data = json_decode($data, true);
echo $n . ' Tackles: ' . $json_data[0]["defense"]["tackle"];
//reset url
$url = "http://api.suredbits.com/nfl/v0/stats/";
}
}
function loadFile($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
【问题讨论】:
-
您正在执行 10 次查询...这需要时间。尝试手动执行单个查询(浏览器或终端)以检查为什么响应时间如此之长。
-
单个查询甚至不需要一秒钟。但我确实需要多个查询,因为我想展示多个玩家。也许使用 AJAX 加载会有所帮助?