Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2007, 13:25
Alejandr4
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Redimensionar imágenes

Hola a todos:

Vereis quiero hacer las famosas thumbnails con php y mysql.
Tengo en la base de datos las rutas de las imagenes.
He probado varios codigos y ningunome funciona exepto uno que os pegaré aquí abajo.

El problema, y no tengo ni idea de porqué será ni de si se puede solucionar, es que únicamente me carga las imagenes que estén en la misma carpeta que el archivo de la web que carga la simagenes. Osea yo tengo el archivo del codigo php en un carpeta, la pagina que carga las imagenes y llama al php en otro, pues las imagenes que estén en la misma carpeta que este último archivp si las carga, si está en otra no y es que no me lee la ruta, si pongo imag/foto/peques/01.jpg él solo lee 01.jpg y ademas de queno entiendo porque no puedo poner todas las fotos en la msisma carpeta ya que es para una tienda on-line y las fotos estan en carpetas divididas por proveedores, sino sería un caso.

¿Alguien puede ayudarme por favor? ¿No me gustaría tener que crear copias de todas las fotos y ocupar el doble de espacio.

Gracia sy os dejo aquí el codigo.

<?php
$anchura=180;
$hmax=180;
$nombre=basename($_GET['imagen']);
$datos = getimagesize($nombre);
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if($datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb);
?>

Para utilizar la imagen, deberemos llamarla de la siguiente manera:

<img src='redimensionar.php?imagen=tu_imagen_origunal.j pg'>