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からヘッダーをフェッチしてdatetimeを検索できます)。 – fbas
試してみてくださいhttp://php.net/manual/en/function.curl-multi-exec.php – LiTe
この情報は役に立ちました:http://stackoverflow.com/questions/15559157/understanding-php-curl-multi- exec –