Очень упрощенный подход будет:
$files = array_combine($filenames,
array_map("array_sum", array_map("getimagesize", $filenames))
);
arsort($files);
print key($files); # largest image
Это просто добавляет $ width + $ height и проверяет, для какого файла это наибольшее количество. Аналогичные результаты умножения двух значений. Но на практике вам может потребоваться вручную найти значение max()
ширины и высоты, если 15x1000 следует рассматривать как больше, чем 550x550.