は、私は以下のように、getimagesize機能で画像の幅と高さを取得する:条件はgetimagesize関数がエラーなしで実行されたことを確認するためのIFPHPチェック空でない場合は、非ゼロ
list($width,$height) = getimagesize($source_pic);
がどのように使用することができます$ widthと$ heightには空でない、ゼロ以外の値がありますか?
は、私は以下のように、getimagesize機能で画像の幅と高さを取得する:条件はgetimagesize関数がエラーなしで実行されたことを確認するためのIFPHPチェック空でない場合は、非ゼロ
list($width,$height) = getimagesize($source_pic);
がどのように使用することができます$ widthと$ heightには空でない、ゼロ以外の値がありますか?
if ($size = getimagesize($source_pic)) {
list($width,$height) = $size;
if($height > 0 && $width > 0) {
// do stuff
}
}
if ($width === NULL) {
//handle error
}
そこFALSE
を返しgetimagesize
エラーは、配列が、ありませんので、list
割り当てはNULL
された変数になります場合。
まだゼロに対してテストする必要があります。マニュアルによると、あなたはそのような価値を得ることができる場合があります。 –
これは十分なはずです:
list($width, $height) = getimagesize($source_pic);
if($width>0 && $height>0){
// Valid image with known size
}
それが有効な画像でない場合は、両方の$幅と高さは$ NULL
になります。有効な画像だが、PHPが次元を決定できない場合は、0
になります。
いくつかのフォーマットは、画像を含まないものや 複数の画像を含んでいてもよいです。これらの の場合、getimagesize()は のサイズを正しく決定できる ではない可能性があります。これらの場合、getimagesize()は幅と高さにゼロ を返します。
$size = getimagesize('image.jpg');
list($height,$width) = getimagesize('image.jpg');
if($height>0 && $width>0){
//it comes into if block if and only if both are not null
}
この回答はすべての質問要件に適合しているわけではありません。特に、ゼロ値を検出しません。 –
@ÁlvaroG. Vicario - ありがとう、私の答えを編集 –