我得到的圖像的寬度和高度與和getimagesize功能,如下圖所示:PHP檢查,如果非空,非零
list($width,$height) = getimagesize($source_pic);
如何使用IF條件來檢查和getimagesize函數執行沒有錯誤$ width和$ height獲得了非空的非零值?
我得到的圖像的寬度和高度與和getimagesize功能,如下圖所示:PHP檢查,如果非空,非零
list($width,$height) = getimagesize($source_pic);
如何使用IF條件來檢查和getimagesize函數執行沒有錯誤$ width和$ height獲得了非空的非零值?
if ($size = getimagesize($source_pic)) {
list($width,$height) = $size;
if($height > 0 && $width > 0) {
// do stuff
}
}
if ($width === NULL) {
//handle error
}
如果有一個錯誤getimagesize
回報FALSE
,而不是一個數組,所以list
分配將導致變量是NULL
。
您仍然需要對零進行測試。根據手冊,有些情況下你可以得到這樣的價值。 –
這應該是足夠了:
list($width, $height) = getimagesize($source_pic);
if($width>0 && $height>0){
// Valid image with known size
}
如果它是不是有效的圖像,無論是$寬度和$高度將是NULL
。如果這是一個有效的圖像,但PHP無法確定它的尺寸,它們將是0
。
的說明from the manual:
一些格式可以不包含圖像或 可以包含多個圖像。在這些 的情況下,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 - 謝謝,編輯我的答案 –