ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで画像形式を決定する 7 つの方法のまとめ

PHP_PHP チュートリアルで画像形式を決定する 7 つの方法のまとめ

WBOY
WBOYオリジナル
2016-07-21 15:09:00893ブラウズ

php を使用してファイル画像の形式を決定します

コードをコピーします コードは次のとおりです:

$imgurl = "http://www.jb51.net/images/ logo.gif";
/ /方法 1
echo $ext = strrchr($imgurl,'.');
echo '
';
//方法 2
echo $ext1 = substr($imgurl,strrpos ($imgurl, '.' ));
echo '
';
//メソッド 3
echo(@end(explode(".",$imgurl))); ;
//方法 4
echo pathinfo($imgurl,PATHINFO_EXTENSION);
echo '
';
//方法 5
$imginfo= getimagesize($imgurl);
print_r($imginfo);
echo '
'
$imghttp = get_headers($imghttp); '
';
//メソッド 7
echo exif_imagetype($imgurl);



テスト結果:



最初の考え方は、画像パスを扱うことです。画像形式を文字列として検索して判断します。


方法 1: strrchr を使用する PHP_PHP チュートリアルで画像形式を決定する 7 つの方法のまとめ
strrchr() 関数は、別の文字列内で最後に出現した文字列を検索し、その位置から文字列の末尾までのすべての文字を返します。
失敗した場合は false を返し、それ以外の場合は false を返します。注: この関数はバイナリセーフです。

方法 2: strrpos

strrpos() 関数は、別の文字列内で最後に出現した文字列を検索します。
成功した場合は位置を返し、それ以外の場合は false を返します。

注: この関数では大文字と小文字が区別されます。大文字と小文字を区別しない検索の場合は、strripos() を使用します。

まず . 記号の位置を計算し、次に substr を使用して文字列をインターセプトします

方法 3: 文字列を配列に分解し、配列の最後のキー値を取得します

—————— ———————— ——————————–

2 番目のアイデアは、画像パスをファイル パスとして扱うことです。その場合、ここで gd ライブラリ関数または php ファイル関数が必要になります


方法 4: pathinfo() を使用する

pathinfo(path, options) 関数は、次の配列要素を含む配列
の形式でファイル パス情報を返します:

[dirname]
[basename]
[extension]
オプションパラメータ:
オプション。返される配列要素を指定します。デフォルトはすべてです。

可能な値:

PATHINFO_DIRNAME – ディレクトリ名のみを返します
PATHINFO_BASENAME – ベース名のみを返します
PATHINFO_EXTENSION – 拡張子のみを返します

メソッド 5: 画像サイズ形式を取得する getimagesize メソッド。これは gd クラス ライブラリ関数ではありません

このメソッドこれは非常に古典的なもので、画像形式を決定するだけでなく、画像の長さと幅の情報を取得するためにも使用できます


方法 6: get_headers で http ヘッダー情報を取得します

画像パスが標準の URL パスの場合、 http ヘッダー情報

Header を返すことができる get_header 関数を使用できます。さらに、このメソッドは画像ファイルの URL が有効な URL かどうかを判断することもできます。使用方法は「PHP が有効な URL かどうかを判断するためのいくつかのメソッド」を参照してください。リモート URL は有効です。」
方法 7: gd クラス ライブラリ関数を使用する

exif_imagetype () は、画像の最初のバイトを読み取り、その署名を確認します。
適切な署名が見つかった場合は対応する定数を返し、それ以外の場合は FALSE を返します。戻り値は getimagesize() によって返される配列のインデックス 2 と同じですが、この関数の方がはるかに高速です。

返される定数値: 対応する値 たとえば、この例では 1 が返され、これは gif 形式の画像に対応します。



総合評価

現在使用されている主流の方法は方法 1 です。セキュリティ上の問題を考慮する場合は、方法 5 を使用できます。方法 5 は、ファイルが画像ファイルであるかどうかを判断できるため (誰かによる不正アクセスを回避できます)、違法なプログラムをイメージファイルに偽造する)。



http://www.bkjia.com/PHPjc/327399.htmlPHP_PHP チュートリアルで画像形式を決定する 7 つの方法のまとめ
www.bkjia.com
tru​​e
http://www.bkjia.com/PHPjc/327399.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。