Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/01/2006, 06:20
radian
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 20 años, 9 meses
Puntos: 2
Esto funciona y realiza la misma función que buscas:

Código PHP:
// Configura esto a tu medida
$path = "definicion-path";
$fichero = $path . "nombre_imagen.jpg";
$thumb = $path . "nombre_thumb.jpg";

unlink($fichero);// or die("No se ha podido borrar la imagen!");
$img = imagecreatefromjpeg($_FILES['imagen']['tmp_name']) or die("No se encuentra la imagen");
imagejpeg($img,$fichero);
        
// Creamos el thumb        
$img = imagecreatefromjpeg($fichero) or die("No se encuentra la imagen $fichero");
list(
$ancho_orig, $alto_orig, $tipo, $atr) = getimagesize($fichero) or die("Problemas con $fichero<br>n");

thumbjpeg($fichero,40,40,$thumb); // (40,40) modifícalo por el tamaño de thumb que desees 
Código PHP:
function thumbjpeg($imagen,$altura,$anchura,$path) {

     
$img = imagecreatefromjpeg($imagen);

     
// miramos el tamaño de la imagen original...
     
list($ancho_orig, $alto_orig, $tipo, $atr) = getimagesize($imagen);

     
// intentamos escalar la imagen original a la medida que nos interesa
     
if ($ancho_orig < $alto_orig) {
         
$ratio = ($alto_orig / $altura);
         
$anchura = round($ancho_orig / $ratio);
     }
     else {
        
$ratio = ($ancho_orig / $anchura);
         
$altura = round($alto_orig / $ratio);
     }
     
     
// esta será la nueva imagen reescalada
     
$thumb = imagecreatetruecolor($anchura,$altura);
     
     
// con esta función la reescalamos
     
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $ancho_orig, $alto_orig);

     
// voilà la salvamos con el nombre y en el lugar que nos interesa.
     
imagejpeg($thumb,$path);
}