Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2014, 22:28
ehuaman
 
Fecha de Ingreso: septiembre-2009
Mensajes: 13
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema con Thumb.php

Buen día amigos espero alguien me pueda ayudar, estoy migrando una web para otro servidor a partir de un respaldo pero tengo un archivo thumb.php en el directorio raíz del site, se supone que debería poder ver las imágenes redimensionadas en un tamaño pequeño pero lo que me aparece es un símbolo con X como de enlace roto podrían decirme si es que debo hacer algún cambio en el httpd del apache o si tengo que agregar algo en el php.ini ya verifique y la libreria GD2 esta descomentada, estoy usando esta consulta para llamar la imagen:

<img src="thumb.php?image=galeria_imagenes/<?=$listado_galeria[$k]->imagen?>&w=70" />

Sin usar el thumb.php uso esta consulta:

<img src="imagenes_imagenes/<?=$producto->imagen?>" />

y puedo ver la imagen pero en tamaño original
Les envío abajo todo el código del thumb.php

<?php
/* Se indica el tipo de archivo */
function thumb($imagefile, $w) {

/* Obtener extensión del archivo */
$dot = (strlen($imagefile) - strrpos($imagefile, ".")-1)*(-1);

$ext = substr($imagefile, $dot);
$ext = strtolower($ext);

/* Chequear que las imágenes sean de alguno de los formatos soportados. Por medio de la función strtolower(), pasamos la extensión a minúsculas */

if(strtolower($ext) == "gif") {
if (!$src_img = imagecreatefromgif($imagefile)) {
echo "Error abriendo $imagefile!"; exit;
}
} else if(strtolower($ext) == "jpg" || strtolower($ext) == "jpeg") {
if (!$src_img = imagecreatefromjpeg($imagefile)) {
echo "Error abriendo $imagefile!"; exit;
}
} else if(strtolower($ext) == "png") {
if (!$src_img = imagecreatefrompng($imagefile)) {
echo "Error abriendo $imagefile!"; exit;
}
} else {
echo "Formato de imágen no soportada"; exit;
}

/*La función getimagesize devuelve un array con la siguiente estructura:
array {
[0] => "ancho en pixeles"
[1] => "alto en pixeles"
[2] => "tipo de imágen (1=GIF; 2=JPG; 3=PNG)"
[3] => "width=xxx height=yyy" (para usar con el tag img de HTML)
}
*/

$hw = getimagesize($imagefile);
//print_r($hw);
if ($hw['0'] > $w){
//die("entra 1");
$new_w = $w;
}else{
//die("entra 2");
$new_w = $hw['0'];
}
/* A través del cociente entre el alto y el cociente entre la anchura original y la anchura nueva, mantenemos las proporciones de la imágen.*/
$new_h = $hw["1"]/($hw["0"]/$new_w);
//die("=".$new_h."-".$new_w);
/* Intentamos crear una imágen 'true color'. Esta función es soportada a partir de GD 2.0, por lo que en caso de no funcionar, se usará la función imageCreate */
$dst_img = @imagecreatetruecolor($new_w, $new_h);
if(!$dst_img) {
$dst_img = imageCreate($new_w, $new_h);
}

/* Se crea la imágen con los valores obtenidos y borramos las imágenes de la memoria. */
imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_ w,$new_h,imagesx($src_img),imagesy($src_img));
if(strtolower($ext) == "gif") {
imagegif($dst_img);
header("Content-type: image/gif");

} else if(strtolower($ext) == "jpg" || strtolower($ext) == "jpeg") {
imagejpeg($dst_img,'', '100');
header("Content-type: image/jpeg");

} else if(strtolower($ext) == "png") {
imagepng($dst_img);
header("Content-type: image/png");

}

ImageDestroy($src_img);
ImageDestroy($dst_img);
}



/* Llamamos a la función para crear el thumbnail con los valores obtenidos por HTTP GET */
thumb($_GET[image], $_GET[w]);

?>

Espero puedan ayudarme por favor les estaria muy agradecido.

Saludos.