使用 getimagesize() 时意外的“[”
Unexpected '[' when using getimagesize()
78我得到了一些代码,以前可以用,但现在出现错误:
解析错误:语法错误,意外的'[' in (...)/utility_helper.php on line 47
我检查了一遍又一遍,所有的括号和类似的都被关闭了,我找不到任何看起来不正确的地方。包括第 47 行的函数是这样的:
/* image_ratio($img)
* Returns one (1) if the image is landscape ratio (width > height) or reutrns
* zero (0) otherwise
*/
function image_ratio($img) {
$imgWidth = getimagesize($img)[0]; // <-- Line 47
$imgHeight = getimagesize($img)[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}
我到底做错了什么?
更新:
将 link 47-48 更改为以下内容(旧 PHP 版本无法处理上述语法):
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
正如 Ben 在评论中所说,PHP < 5.4 不支持从函数取消引用数组。您应该这样做或更新您的 PHP 版本:
function image_ratio($img) {
$imgSize = getimagesize($img); // <-- Line 47
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if (($imgWidth/$imgHeight) > 1) {
return 1;
} else {
return 0;
}
}
创建一个数组,然后像这样从数组中创建变量:
$imageSize = getimagesize($img);
$imgWidth = $imageSize[0];
$imgHeight = $imageSize[1];
对于不支持函数数组解除引用的 PHP 版本 < 5.4,您可以改为使用 list() 将数组元素分配给(单个)变量。
list($width, $height) = getimagesize('...');
尝试:
function image_ratio($img) {
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}
78我得到了一些代码,以前可以用,但现在出现错误:
解析错误:语法错误,意外的'[' in (...)/utility_helper.php on line 47
我检查了一遍又一遍,所有的括号和类似的都被关闭了,我找不到任何看起来不正确的地方。包括第 47 行的函数是这样的:
/* image_ratio($img)
* Returns one (1) if the image is landscape ratio (width > height) or reutrns
* zero (0) otherwise
*/
function image_ratio($img) {
$imgWidth = getimagesize($img)[0]; // <-- Line 47
$imgHeight = getimagesize($img)[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}
我到底做错了什么?
更新:
将 link 47-48 更改为以下内容(旧 PHP 版本无法处理上述语法):
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
正如 Ben 在评论中所说,PHP < 5.4 不支持从函数取消引用数组。您应该这样做或更新您的 PHP 版本:
function image_ratio($img) {
$imgSize = getimagesize($img); // <-- Line 47
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if (($imgWidth/$imgHeight) > 1) {
return 1;
} else {
return 0;
}
}
创建一个数组,然后像这样从数组中创建变量:
$imageSize = getimagesize($img);
$imgWidth = $imageSize[0];
$imgHeight = $imageSize[1];
对于不支持函数数组解除引用的 PHP 版本 < 5.4,您可以改为使用 list() 将数组元素分配给(单个)变量。
list($width, $height) = getimagesize('...');
尝试:
function image_ratio($img) {
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
if ($imgWidth/$imgHeight > 1) {
return 1;
} else {
return 0;
}
}