URL の配列 (~1000 個の URL) があり、それらが存在するかどうかをすべて確認したい。これが私の現在のコードです:
$south_east_png_endings = array();
for($x=1;$x<=25;$x++) {
for($y=1;$y<=48;$y++) {
$south_east_png_endings[] ="${x}s${y}e.png";
}
}
foreach ($south_east_png_endings as $se){
$url = 'http://imgs.xkcd.com/clickdrag/'.$se;
$file_headers = @get_headers($url);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
// echo 'Does not exist';
}
else
{
echo $url;
}
}
このスクリプトは機能し、機能しているすべての URL をエコーアウトしますが、プロセスが長すぎます (完了するまでに数分かかります)。これをより速く行う方法はありますか、それともこれと同じくらい速くなりますか? たぶん、curl_timeout 関数を使用して時間を短縮できますか?