画像の高さと幅を整数値として取得しますか?


回答:


196

このようにしてみてください:

list($width, $height) = getimagesize('path_to_image');

次のことを確認してください。

  1. そこで正しい画像パスを指定します
  2. 画像に読み取りアクセス権があります
  3. Chmodイメージディレクトリから755

また$_SERVER["DOCUMENT_ROOT"]、パスの前にを付けてみてください。これは、ファイルを読み取ることができない場合に役立つことがあります。


2
ディレクトリの777は必要ありません。
2010

@poke:あなたは本当に100%確信していますか?
Sarfraz、2010

5
はい。777は、所有者、グループ、およびすべてに対する読み取り、書き込み、および実行権を意味します。ディレクトリにアクセスするには、読み取りと実行の権限が必要ですが、書き込み権限は必要ありません。そして、あなたは皆のためにその権利を必要としません。755は、ディレクトリ内にファイルを作成する必要がないすべてのアクセスで問題ありません。
2010

1
ディレクトリ自体に対する実行権限が必要ですが、イメージ自体は必要ありません(644のイメージで動作します)。
Lee Saxon

1
リモートイメージで使用するには、allow_url_fopenをオンにする必要がありgetimagesize()ます。
VertigoRay 2017年

63
list($width, $height) = getimagesize($filename)

または、

$data = getimagesize($filename);
$width = $data[0];
$height = $data[1];

13

getimagesize()は、画像のプロパティを含む配列を返します。

list($width, $height) = getimagesize("path/to/image.jpg");

幅と高さを取得する

list($width, $height, $type, $attr)

詳細については、


7

このような :

imageCreateFromPNG($var);
//I don't know where from you get your image, here it's in the png case
// and then :
list($width, $height) = getimagesize($image);
echo $width;
echo $height;

動作しない:getimagesize() expects parameter 1 to be string, resource given、関数getimagesizeはファイル名を期待しています
lopisan '14

6

PHP getimagesize()はデータの配列を返します。配列の最初の2つの項目は、幅と高さの2つの項目です。これらを取得するには、返された配列の最初の2つのインデックスを要求するだけです。

var $imagedata = getimagesize("someimage.jpg");

print "Image width  is: " . $imagedata[0];
print "Image height is: " . $imagedata[1];

詳細については、ドキュメントを参照してください。


3

getimagesize('image.jpg') 関数allow_url_fopenが1に設定されている場合、またはサーバーのphp.iniファイル内でオンになっている場合にのみ機能します。有効になっていない場合はini_set('allow_url_fopen',1); 、getimagesize()関数が使用されているファイルの上で使用する必要 があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.