私は5000以上のイメージリンクを持っています。それらが存在するかどうかを調べる方法を見つける必要があります。私はgetimagesize()
を使用しましたが、時間がかかりました。スピードは私のために重要です。PHP:イメージが存在するかどうかを確認する(メソッド)
私はちょっとした機能を書いていますが、機能していません。理由はわかりません。
function img_exists($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if(curl_exec($ch))
return true;
else
return false;
curl_close($ch);
}
現時点では、私はPHPでチェックを行っています。よりよい解決策があれば教えてください。
接続がタイムアウト(1秒)の場合、関数はfalseを返します。速度は非常に重要です。
更新日:ファイルは別のサーバーにあります。あなたがあなた自身のサーバー上のファイルをチェクする必要がある場合
イメージがリモートであるか、このスクリプトは、同じホスティングスペースとして上で実行されている:ちょうどあなたはかなりのバイト/時間の節約になります(代わりに
GET
の)HEAD
要求を行っている。また、これを追加画像?もしそうなら 'file_exists()'を使うだけです – RedactedProfile