Хочу сделать вывод фото в зависимости от ширины, если ширина больше чем высота то width = 500px если нет то width = 300px - это образно. Или целесообразнее в бд при добавлении фото сделать ячейку и в неё вписывать значения: 0 если ширина > чем высота, если нет то значение 1, а потом уже при выводе фоток из бд ориентироваться по этим значениям... Вообщем как лучше?
В PHP довольно шустро работает getimagesize. Во-первых, она не требует установленной библиотеки GD, во-вторых в качестве аргумента принимает имя файла, а не ресурс. Ее и следует использовать всегда.
Как правило размер узнают для того чтобы следом сделать ресайз, так что выгода от этой функции сомнительная.
И в чем именно сомнения? Очень удобно рассчитать новые размеры для изображения. Лично я не терплю библиотеку GD, не только как расширение к РНР, но и саму по себе. Я использую ImageMagick через консоль. Она сама замечательно считает размеры, да. Но такие команды как crop принимают аргумент в виде смещения, которое удобно заранее рассчитать, найти центр и распределить по заданной координатной сетке. Никаких сомнений в том, что эта функция полезна для дальнейшей работы с изображением, нет. Не уж-то вызывать imagecreate*, imagesx/imagesy, imagedestroy, только чтобы получить размеры, а потом использовать внешнюю библиотеку.