Foros del Web » Programando para Internet » PHP »

Problema con Thumb.php

Estas en el tema de Problema con Thumb.php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/01/2014, 22:28
 
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.
  #2 (permalink)  
Antiguo 30/01/2014, 07:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema con Thumb.php

por lo que veo usa GD, lo que tienes que averiguar es si en dicho servidor tiene la librería PHP GD, instalarla, activarla o actualizarla, creo que la ultima versión va por la 5.x
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 30/01/2014, 13:29
 
Fecha de Ingreso: septiembre-2009
Mensajes: 13
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema con Thumb.php

consulte mi php.ini y veo activada la GD2

;extension=php_dbase.dll
extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll

Tambien veo que la libreria esta bien en el directorio C:\PHP\ext
y q tiene version 5.4.8.0
no se en realidad que podrá estar pasando :S

Última edición por ehuaman; 30/01/2014 a las 13:32 Razón: olvide agregar algo
  #4 (permalink)  
Antiguo 30/01/2014, 15:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema con Thumb.php

realiza un phpinfo(); y ve si está cargada, reinicia apache si no lo está y vuelve a verificar.


también revisa que no tenga BOM el archivo, lo que te puede corromper el binario de la imagen
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 30/01/2014, 23:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 13
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema con Thumb.php

Aparentemente esta bien la libreria esto es lo q me dice al hacer lo q me indicas:

gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.3
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.46
WBMP Support enabled
XBM Support enabled

Directive Local Value Master Value
gd.jpeg_ignore_warning 0 0

A que te refieres con que puede tener BOM el archivo?
sigo con el problema

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.