13

PHP の getimagesize() 関数から返される 3 番目の値のすべての可能な結果を​​知っている人はいますか? 以下のコードの例は次を返します。

  • $imageinfo['2'] = 2;jpg画像の場合、
  • $imageinfo['2'] = 3;png画像の場合、
  • $imageinfo['2'] = 0;gifイメージのために。

上記の数字は正しくないかもしれませんが、アイデアはわかります。

php.net または他の場所で、3 番目の値のすべての可能な結果のリストを見つけることができません。

$imageinfo = getimagesize($imageurl);
$image_type  = $imageinfo['2'];
4

8 に答える 8

32

これを実行します:

print_r(get_defined_constants());

次に、IMAGETYPE_ で始まる定数を探します。私の PHP 5.3 インストールでは、次の値を取得しました。

[IMAGETYPE_GIF] => 1
[IMAGETYPE_JPEG] => 2
[IMAGETYPE_PNG] => 3
[IMAGETYPE_SWF] => 4
[IMAGETYPE_PSD] => 5
[IMAGETYPE_BMP] => 6
[IMAGETYPE_TIFF_II] => 7
[IMAGETYPE_TIFF_MM] => 8
[IMAGETYPE_JPC] => 9
[IMAGETYPE_JP2] => 10
[IMAGETYPE_JPX] => 11
[IMAGETYPE_JB2] => 12
[IMAGETYPE_SWC] => 13
[IMAGETYPE_IFF] => 14
[IMAGETYPE_WBMP] => 15
[IMAGETYPE_JPEG2000] => 9
[IMAGETYPE_XBM] => 16
[IMAGETYPE_ICO] => 17
[IMAGETYPE_UNKNOWN] => 0
[IMAGETYPE_COUNT] => 18

ご覧のとおり、Flash SWF は画像と見なされ、実際にgetimagesize()は SWF オブジェクトの幅と高さを読み取ることができます。私が最初にそれを発見したとき、それは好奇心のように思えたので、ここで言及しました.

于 2009-08-15T17:19:41.590 に答える
6

そのインデックスには、PHP のIMAGETYPE_XXX 定数のいずれかの値が含まれています。それらの完全なリストは、そのページの下部にあります。そのページには、それぞれの実際の INT 値は示されていませんが、必要に応じて値を取得するためにいくつかを印刷できるはずです。特定のものを探している場合は、比較チェックを行うこともできます。

if ($imageinfo[2] == IMAGETYPE_IFF) {
  // Code here
}
于 2009-08-15T17:16:33.373 に答える
2

マニュアルの引用:

インデックス 2 は、イメージのタイプを示す IMAGETYPE_XXX 定数の 1 つです。

そして、これらの定数は、GD によって定義されている他の定数の中でも、このページで見つけることができます。

于 2009-08-15T17:17:59.813 に答える
1

as indexによって返された値を人間が読める形式に変換したい場合は、次のような関数を使用することを検討してください。getimagesize()2

$imageTypeArray = array
(
    0=>'UNKNOWN',
    1=>'GIF',
    2=>'JPEG',
    3=>'PNG',
    4=>'SWF',
    5=>'PSD',
    6=>'BMP',
    7=>'TIFF_II',
    8=>'TIFF_MM',
    9=>'JPC',
    10=>'JP2',
    11=>'JPX',
    12=>'JB2',
    13=>'SWC',
    14=>'IFF',
    15=>'WBMP',
    16=>'XBM',
    17=>'ICO',
    18=>'COUNT'  
);

$size = getimagesize($filename);

$size[2] = $imageTypeArray[$size[2]];

または似たようなもの。

于 2013-09-06T09:45:50.987 に答える
1

画像定数に関する上記の参照ページでは、画像定数に格納されている整数ではなく、画像定数の名前のみが示されています。上記のスクリプトは整数を提供しますが、公式の PHP マニュアル ページhttp://www.php.net/manual/en/function.exif-imagetype.phpで整数のリストを見つけました。

于 2014-03-26T23:45:29.947 に答える
1

getimagesizeIMAGETYPE_*次の定数のいずれかの値を返します。

于 2009-08-15T17:18:13.730 に答える