0
我有阵列,例如获取数据:最好的办法从其他服务
$links = array(
'http://aaa.com/data.txt',
'http://aaea.com/data.txt',
'http://aada.com/data.txt',
'http://agaa.com/data.txt',
'http://ahaa.com/data.txt',
'http://awha.com/data.txt',
'http://aaeha.com/data.txt',
//etc x100
);
而在PHP我做:
foreach ($links as $link) {
$data = file_get_contents($link);
//save data in database
}
它工作正常,但非常缓慢。用PHP做这个更好的方法是什么?我想让数据异步。
我的另一种方式 - 从PHP脚本的jQuery和Ajax查询,但也许存在更好的方式?
PHP是单线程的(虽然有一些多线程库),所以你将无法在脚本中非常容易地异步获取。 其他选项包括缓存这些数据文件,并且只在它们过期时刷新它们(您可以从URL中获取标题以尝试查找日期时间)。 – fbas
尝试http://php.net/manual/en/function.curl-multi-exec.php – LiTe
您可能会发现这有助于:http://stackoverflow.com/questions/15559157/understanding-php-curl-multi- exec –