getimagesize возвращает нули для изображений PNG, несмотря на то, что allow_url_fopen=1

Я использую list($pws,$phs,$pfts,$pfas)=getimagesize($row->picurl); для правильно связанных изображений, которые отображаются нормально, но некоторые из них слишком широки, чтобы поместиться в столбец таблицы.

ini_get('allow_url_fopen') возвращает 1.

Согласно руководству, getimagesize() не требует библиотеки изображений GD.

phpversion() возвращает "5.3.9-1~dotdeb.3".

Что я хочу сделать, так это сравнить ширину внешних URL-адресов PNG-изображений с шириной столбца таблицы при заполнении таблицы, чтобы масштабировать только неправильно загруженные огромные и сохранять другие правильные немасштабированные, т.е. либо установите ширину = "384" для тега img, либо нет.

Большинство файлов PNG экспортируются из Photoshop с помощью параметра «Сохранить для Интернета», 24-битного цвета RGB, без альфа-канала или матового изображения, поэтому они должны быть максимально качественными, но даже они возвращают нули.

Мне нужно включить что-то еще на сервере или я могу проверить ширину с помощью какой-то другой функции?

Я также приму любые сопоставимые решения для достижения этой цели.


person Henrik Erlandsson    schedule 04.02.2012    source источник
comment
Я не уверен, что все понял, но... что вы получите, если сделаете var_dump(getimagesize($row-›picurl))? Вы уверены, что $row-›picurl относится к реальному изображению? Вы показываете ошибки PHP, которые являются предупреждениями и уведомлениями?   -  person LGT    schedule 13.06.2014


Ответы (1)


Если вы знаете ширину столбца, вы можете установить максимальную ширину CSS для изображения:

<img src="..." style="max-width: <?= $column_width; ?>;" />

Это уменьшит большие изображения, но не увеличит меньшие изображения.

person Doug Webster    schedule 12.03.2013