Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Ошибка при получении размеров картинки

12.01.2007, 22:16
Гость
Гость

Если картинка в объекте есть все О.K., а если нет, то код приведенный ниже дает ошибку. Как избавиться от ошибки?


Сейчас в отображении объекта в шаблоне:

Код:
".opt($imsize=getimagesize($DOCUMENT_ROOT.str_replace("h_","",$f_BigPhoto)),"")."

<table border=0 cellpadding=0 cellspacing=0>
<tr><td background=$f_BigPhoto><img src=/images/emp.gif alt='' width=".$imsize[0]." height=".$imsize[1]."></td></tr></table>




Пробовал такой opt работает:
Код:
".opt_case($f_BigPhoto,"1","2")."


а такой почему-то не помогает.
Код:
".opt_case($f_BigPhoto,"".opt($imsize=getimagesize($DOCUMENT_ROOT.str_replace("h_","",$f_BigPhoto)),"")."","2")."


15.01.2007, 13:59
Кирилл Хряпин
NetCat

Зарегистрирован:
2006-06-15
Сообщений: 207

opt() и opt_case() являются не условными конструкциями языка, а обычными php-функциями; это означает, что все параметры вычисляются еще до выполнения самой функции (то есть до проверки условия). В Вашем случае функция getimagesize() выполняется всегда, независимо от значения переменной $f_BigPhoto.

Попробуйте такой вариант:
Код:
";
if ($f_BigPhoto) { $imsize = getimagesize($f_BigPhoto_url); }
$result .= "


Cокращенный вариант записи:
Код:
". ($f_BigPhoto ? $imsize = getimagesize($f_BigPhoto_url) : "2") . "
198 196 2007-01-15 13:59:25 8848
Описание проекта