PHP检查IF非空,非零

时间:2011-07-05 10:55:29

标签: php

我使用getimagesize函数获取图像的宽度和高度,如下所示:

list($width,$height) = getimagesize($source_pic);

如何使用IF条件检查getimagesize函数是否正确执行且$ width和$ height是否为非空,非零值?

4 个答案:

答案 0 :(得分:6)

if ($size = getimagesize($source_pic)) {
    list($width,$height) = $size;
    if($height > 0 && $width > 0) {
        // do stuff
    }
}

答案 1 :(得分:3)

if ($width === NULL) {
    //handle error
}

如果有错误getimagesize返回FALSE,而不是数组,那么list分配将导致变量为NULL

答案 2 :(得分:1)

这应该足够了:

list($width, $height) = getimagesize($source_pic);
if( $width>0 && $height>0 ){
    // Valid image with known size
}

如果它不是有效图像,则$ w​​idth和$ height将为NULL。如果它是有效的图像,但PHP无法确定其尺寸,则它们将为0

备注from the manual

  

某些格式可能不包含图片或   可能包含多个图像。在这些   例如,getimagesize()可能不是   能够正确地确定图像   尺寸。 getimagesize()将返回零   在这些情况下,宽度和高度。

答案 3 :(得分:1)

$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
}