78I получил некоторый код, который используется для работы, но теперь проходит ошибку:Неожиданное «[» при использовании getimagesize()
Синтаксическая ошибка: синтаксическая ошибка, неожиданный «[» в (...)/utility_helper.php в строке 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;
}
}
Что, черт возьми, я делаю неправильно?
Update:
Изменена ссылка 47-48 на следующей (старой версии PHP не может обрабатывать выше синтаксис):
$imgSize = getimagesize($img);
$imgWidth = $imgSize[0];
$imgHeight = $imgSize[1];
Какая версия PHP вы используете? Этот синтаксис поддерживается только в PHP 5.4 и новее. – Carpetsmoker
PHP <5.4 не поддерживает разыменование массива из функции return. Либо обновите свою версию PHP, либо присвойте 'getimagesize ($ img)' переменной и обратитесь к массиву оттуда. –
попробуйте сделать $ img массив сначала, так как $ array = $ img, затем getimagesize ($ array [0]); – Neat