Una solución de andar por casa es usar los atributos de ancho y alto de HTML, y pasar el tamaño de los mismos via PHP.
Me explico, asignas el tamaño con una variable PHP y la pasas a HTM:
Código:
// Calcula el tamaño de la imagen y la cambia de tamaño
// para ajustarla a la pantalla
$tamanofoto= getimagesize($urlfoto) ;
$anchofoto = $tamanofoto[0] ;
$altofoto = $tamanofoto[1] ;
if ($altofoto > $anchofoto )
$limitefoto= " height=\"" . "350" . "\"" ;
else
$limitefoto = " width=\"" . "150" . "\"" ;
// Esto para límites fijos:
// $limitefoto = " width=\"" . "170" . "\"" ;
// Y ahora el código HML con el PHP dentro:
<a href="<?php echo $urldestino ?>">
<img border="1" src="<?php echo $urlfoto ?>"
alt="<?php echo $nombre ?>" <?php echo $limitefoto ?> align="top"></a>
En realidad no cambias el tamaño de la foto, solo cambias el tamaño en pantalla, pero funciona. Es un problema si tienes imágenes muy grandes que quieres colocarlas en tamaño pequeño, porque las descargas enteras cada vez. Pero lo bueno que tiene es que no necesitas saber de entemano el tamaño de la imagen original ....