Hola, fíjate si te sirve esto, es como el que tienes, pero mas simple
Cita: <?php
$ancho_maximo = 500 ;
$url = "http://www.ejemplo.com/imagen.jpg";
$datos = getimagesize($url) OR die("Imagen no válida"); // recupera los tamaños
if ($datos[0] > $ancho_maximo ) { // si el ancho es mayor al máximo
$ancho = $ancho_maximo } else { $ancho = $datos[0] ; } ; // lo limitamos sino lo dejamos como está
echo '<img src="'.$url.'" width="'.$ancho.'" border="0"/>'; // mostramos la imagen
?>