ホームページ  >  記事  >  バックエンド開発  >  PHP アップロードされた画像サイズの確認_PHP チュートリアル

PHP アップロードされた画像サイズの確認_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:29:29783ブラウズ

getimagesize関数 画像サイズを取得する(PHP 4, PHP 5)

array getimagesize ( string filename [, array &imageinfo] ) //¥imageinfo を使用する場合、先行する & が不要になったことに注意してください。

説明
getimagesize() 関数は、GIF、JPG、PNG、SWF、SWC、PSD、TIFF、BMP、IFF、JP2、JPX、JB2、JPC、XBM、または WBMP 画像ファイルのサイズを決定し、そのサイズを返します。画像とファイルタイプ、および通常の HTML ファイルの IMG タグで使用できる高さ/幅のテキスト文字列。

filename で指定された画像にアクセスできない場合、または有効な画像ではない場合、getimagesize() は FALSE を返し、E_WARNING レベルのエラーを生成します。

注:
JPC、JP2、JPX、JB2、XBM、および WBMP のサポートは、PHP 4.3.2 以降で利用可能です。 SWC のサポートは PHP 4.3.0 以降で利用可能です。 TIFF のサポートは PHP 4.2.0 で追加され、PHP 5.3 では ICON のサポートが追加されました

注:
JPEG 2000 のサポートは PHP 4.3.2 で追加されました。 JPC と JP2 は異なる色深度コンポーネントを持つことができることに注意してください。この場合、「ビット」の値は、発生する最大のビット深度です。さらに、JP2 ファイルには複数の JPEG 2000 コード ストリームが含まれる場合があり、その場合、getimagesize() はファイルの最上位で見つかった最初のコード ストリームの値を返します。

注:
この機能には GD イメージ ライブラリは必要ありません。

4 つのセルを含む配列を返します。インデックス 0 には画像の幅のピクセル値が含まれ、インデックス 1 には画像の高さのピクセル値が含まれます。インデックス 2 は画像タイプのタグです: 1 = GIF、2 = JPG、3 = PNG、4 = SWF、5 = PSD、6 = BMP、7 = TIFF(インテル バイト オーダー)、8 = TIFF(モトローラ バイト オーダー) )、9 = JPC、10 = JP2、11 = JPX、12 = JB2、13 = SWC、14 = IFF、15 = WBMP、16 = XBM、17 = ICO、18 = COUNT。これらのタグは、PHP 4.3.0 で追加された新しい IMAGETYPE 定数に対応します。インデックス 3 は、「height="yyy" width="xxx"」という内容のテキスト文字列で、IMG タグ内で直接使用できます。

例 getimagesize(file)
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "width={$width}, height ={$height}, type={$type}, attr={$attr}";
?>
URL サポートは PHP 4.0.5 で追加されました。

例 getimagesize(URL)
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// ファイル名にスペースが含まれている場合は、適切にエンコードしてください
$size = getimagesize("http://www.example.com/gifs/logo.gif");

?>
JPG 画像の場合、さらに 2 つのインデックス (チャネルとビット) が返されます。チャネルの値は、RGB イメージの場合は 3、CMYK イメージの場合は 4 です。 bits は色ごとのビット数です。

PHP 4.3.0 では、他の画像タイプ用のビットとチャネルも存在します。しかし、これらの値は混乱を招く可能性があります。たとえば、GIF は常にピクセルあたり 3 チャネルを使用しますが、アニメーション GIF の場合、ピクセルあたりのビット数はグローバル カラー テーブルから計算できません。

一部の形式には画像が含まれない場合や、複数の画像が含まれる場合があります。この場合、getimagesize() を使用して画像のサイズを正確に決定できない可能性があります。この時点で、getimagesize() は幅と高さとして 0 を返します。

PHP 4.3.0 以降、getimagesize() は、画像の MIME タイプに準拠する追加パラメーター mime も返します。この情報は、HTTP Content-type ヘッダーで正しい情報を送信するために使用できます:

getimagesize() と MIME タイプの例
$size = getimagesize($filename);
$fp=fopen($filename, "rb");
if ($size && $fp) {
header ("Content-type: {$size['mime']}");
fpassthru($fp);
exit;
} else {
// error
}
?>
オプションの imageinfo パラメータは Extract から許可されます画像ファイルからのいくつかの拡張情報。現在、これはさまざまな JPG APP ID を連想配列で返します。一部のプログラムは、これらの APP 識別子を使用して画像にテキスト情報を埋め込みます。非常に一般的なのは、APP13 ロゴに埋め込まれた IPTC » http://www.iptc.org/ 情報です。 iptcparse() 関数を使用すると、バイナリ APP13 識別子を解析して読み取り可能な情報にすることができます。

例 getimagesize() は IPTC を返します
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
$iptc = iptcparse( $info["APP13"]);
var_dump($iptc);
}
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/775951.html技術記事 getimagesize 関数は画像サイズを取得します (PHP 4、PHP 5) array getimagesize ( string filename [, array imageinfo] ) //使用時に \ imageinfo を前に付ける必要はないことに注意してください。 説明...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。