イメージがPHPで有効かどうかを確認する最善の最速の方法は何ですか? GIF、JPG、PNG画像を確認できるようにする必要があります。イメージがPHPで有効かどうかを確認する最善の最速の方法は何ですか?
答えて
私はgetimagesize
を推測:
list($width, $height, $type, $attr) = getimagesize("path/to/image.jpg");
if (isset($type) && in_array($type, array(
IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
...
}
ドキュメントを読む:特定のファイルが有効なイメージであることを確認するためにgetimagesize()を使用しないでください。 http://php.net/manual/en/function.getimagesize.php –
私はこの機能を使用して...それはURLをチェックし、あまりにも
function isImage($url){
$params = array('http' => array(
'method' => 'HEAD'
));
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
return false; // Problem with url
$meta = stream_get_meta_data($fp);
if ($meta === false){
fclose($fp);
return false; // Problem reading data from url
}
}
はい、あなたは正しいです...ブラケットを追加しました。 –
exif_imagetypeよりよい解決策です。
このメソッドは、getimagesizeを使用するよりも高速です。 php.net "返り値は、getimagesize()がインデックス2で返す値と同じですが、exif_imagetype()ははるかに高速です。"
function is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}
もちろん、これはEXIF拡張機能が有効な場合にのみ機能します。私の場合、それは事実ではなく、私はこれを支配しません:( –
"getimagesize()を使用して、指定されたファイルが有効なイメージであることを確認しないでください。代わりにFileinfo拡張などの目的に合わせたソリューションを使用してください。ここで
は一例です:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finfo, "test.jpg");
if (isset($type) && in_array($type, array("image/png", "image/jpeg", "image/gif"))) {
echo 'This is an image file';
} else {
echo 'Not an image :(';
}
exif_imagetypeがgetimagesizeよりもはるかに高速であるとによって推奨されているように(スリムMEMの足跡を残して)
function isImage($pathToFile)
{
if(false === exif_imagetype($pathToFile))
return FALSE;
return TRUE;
}
をGD-Libのを使用していない:私はこれを使用
if(exif_imagetype('path/to/image.jpg')) {
// your image is valid
}
- 1. オブジェクトがnullであるかどうかを確認する最善の方法と最も速い方法
- 2. Apache Flumeのインストールが有効かどうかを確認する最も簡単な方法は何ですか?
- 3. ユーザーがファイルをアップロードできるかどうかを確認する最善の方法は何ですか?
- 4. 2つのTビットマップが同じかどうかを確認する最速の方法は何ですか?
- 5. WCFで認証する最善の方法は何ですか?
- 6. コンピュータのオンライン状態を確認する最善の方法は何ですか?
- 7. XHR2ファイルアップロードのサポートを確認する最善の方法は何ですか?
- 8. キーでPHPで何かをハッシュする最善の方法は何ですか?
- 9. レコードが存在するかどうかを確認する最速の方法
- 10. PHPにURLが存在するかどうかを確認する最良の方法は何ですか?
- 11. ユーザー名が存在するかどうかを確認する最善のルートは何ですか?
- 12. ウェブサイト/ URLが存在するかどうかを確認する最も迅速かつ正確な方法は何ですか?CurlまたはPHP?
- 13. wifiオプションが有効かどうかを確認する方法
- 14. ポインタが有効かどうかを確認する方法?
- 15. SQL Server:CLRが有効かどうかを確認する方法?
- 16. 角スピナーが有効かどうかを確認する方法
- 17. CArchiveが有効かどうかを確認する方法
- 18. PHPにURLが存在するかどうかを判断する最速の方法は何ですか?
- 19. ウェブサイトのフォルダが存在するかどうかを確認する最良の方法は何ですか?
- 20. データグリッドを迅速に作成する最善の方法は何ですか?
- 21. 同じSQLテーブル内の2つのレコードが異なるかどうかを確認する最速/最も簡単な方法は何ですか?
- 22. 複数のFlexアプリケーション間でアセット(アイコン/イメージ)を共有する最善の方法は何ですか?
- 23. Web APIのトークンを確認する方法は、anglejsで有効かどうか
- 24. アプリで何もせずにネットが有効かどうかを確認する方法はありますか?
- 25. PHPでカスタムクラスをキャストする最善の方法は何ですか
- 26. Firestore:サブコレクションが存在するかどうかを確認する最善の方法は?
- 27. PHPで、電子メールが有効かどうかを確認する方法はありますか?
- 28. C++でキャストする最善の方法は何ですか?
- 29. ボリュームがMac OSのシェルスクリプトにマウントされているかどうかを確認する最善の方法は?
- 30. enumの値が有効かどうかを確認する方法は?
あなたが "有効" とはどういう意味ですか?画像ファイルの形式が正しいかどうかを確認しますか? –