Foros del Web » Programando para Internet » PHP »

Thumbs - Problema

Estas en el tema de Thumbs - Problema en el foro de PHP en Foros del Web. Aqui coloko el Codigo, que se encuentra en un archivo llamado ("images.php"): Código PHP: <? function  resize_view ( $img ,  $new_w ,  $new_h ,  $w ...
  #1 (permalink)  
Antiguo 08/11/2005, 01:29
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta Thumbs - Problema

Aqui coloko el Codigo, que se encuentra en un archivo llamado ("images.php"):
Código PHP:
<?
function resize_view($img$new_w$new_h$w=0$h=0$id=0){
    if(!
$id){
        
$size GetImageSize("$img"); 
        
$w=$size[0]; 
        
$h=$size[1];
    }
        if( (
$w $new_w) && ($w $h )) 
            
$porcentaje=$new_w/$w;
        else 
            
$porcentaje=$new_h/$h;
return array (
round($w*$porcentaje), round($h*$porcentaje));
}

$fuente = @imagecreatefromjpeg($ruta);
list (
$w$h) = resize_view($fuente$ancho$alto,imagesx($fuente),imagesy($fuente), 1); 
$imagen=imagecreatetruecolor($w,$h); 

imagecopyresized($imagen,$fuente,0,0,0,0,$w,$h,imagesx($fuente),imagesy($fuente)); 

header("Content-type: image/jpeg"); 
imagejpeg($imagen);
imagedestroy($fuente);
?>
Asi es komo lo llamo:
Código HTML:
<img src="<? echo URL_BASE?>images.php?ruta=<? echo DIR_FOTOS.$fotos[$x]?>&ancho=100&alto=75" border="1"> 
Bueno, el problema es el siguiente:

- En mi maquina tengo un Apache con PHP corriendo para probar cosas en forma offline, funciona de maravilla.
- En un servidor online, tambien funciona joya.
- En otro servidor online, no me funciona, lo raro es que lo hace con algunas imagenes y otras no. Probe con varias medidas y diferentes nombres, pero no llegue a ninguna conclusion. Las imagenes que generalmente no funcionan con este script, son generalmente tomadas con camara digital, las cuales tienen un peso aprox. de 670 kb (ej:"PA100090.JPG"), pero es raro porq algunas las acepta. Y vuelvo a repetir q en los 2 primeros casos funciona bien, sin ningun error!

En todos los casos tengo instaladas las GD (2.0.23 compatible).
Lo que me preocupa obviamente es el caso del servidor que no funciona. Pense que tenia que ver con algo del set_time_limit(), pero me tiro este error:
Warning: set_time_limit(): Cannot set time limit in safe mode in /home/virtual/site3/fst/var/www/html/fotos_sg.php on line 2.

Tiene algo que ver el SAFE MODE con algo de esto ? o en que otra configuracion debo fijarme ?? es raro esto que me pasa ?
Quizas es algo obvio, pero no se que es.

Gracias
__________________
Saludos :adios: :adios: :adios:
  #2 (permalink)  
Antiguo 08/11/2005, 06:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Pense que tenia que ver con algo del set_time_limit(), pero me tiro este error:
Warning: set_time_limit(): Cannot set time limit in safe mode in /home/virtual/site3/fst/var/www/html/fotos_sg.php on line 2.

Tiene algo que ver el SAFE MODE con algo de esto ? o en que otra configuracion debo fijarme ?? es raro esto que me pasa ?
Si, .. el mensaje de error te indica eso mismo . .en modo seguro TU no puedes alterar el tiempo de ejecución de un script vía la función set_time_limit() .. cualquier cambio a ese nivel tendría que ser vía php.ini. (y habría que confirmar si puede ser vía .htaccess con php_flag_value o equivalente).

Pero, de todas formas, cuando un script "revienta" por tiempo máximo de ejecución excedido se te avisa con un mensaje de error (fatal) alusivo al tema . .Si no lo has visto (en teoría .. salvo que estés omitiendo ver mensajes de error desde configuración de PHP) .. no tienes ese problema.

---------------------

Sobre tu código de ejemplo ..

$fuente = @imagecreatefromjpeg($ruta);

Si usas una @ delante de una función . NUNCA veras sus mensajes de error, tal vez tengas problemas en esea $ruta (que valor toma esa variable?) y como usas la @ estás forzando a PHP a que NO te muestre los posibles mensajes de error que obtengas .. NO lo uses (la @) hasta que lleves tu script a producción (hasta que tengas claro que todo funciona bien).

Un saludo,
  #3 (permalink)  
Antiguo 08/11/2005, 10:00
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Gracias Cluster!

Hable con gente del servidor, y pusieron el SAFE MODE en Off, pero sigue sin funcionar.
Coloqué en el codigo el set_time_limit(0); pero no es problema del tiempo de ejecucion.

Con respecto al codigo, lo que le asigno a ruta es lo siguiente, paso un ejemplpo:
Código HTML:
<img src="images.php?ruta=fotos/PA100089.JPG&ancho=100&alto=75" border="1"> 
Y con respecto al $fuente = @imagecreatefromjpeg($ruta); quite el "@" y no me tira ningun error.

Estoy seguro que tiene que ver con la configuracion del servidor, lo raro es que con algunas imagenes funciona bien.
Que otras configuraciones del servidor debo revisar? q interfieran con el proceso de este script?

alguna idea mas?
__________________
Saludos :adios: :adios: :adios:
  #4 (permalink)  
Antiguo 08/11/2005, 10:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. no sé que más podría ser .. entre otras cosas por qué dices que con algunas si y otras no .. habría que ver y detectar que "patrón" cumplen las que "no" .. algo como son de tal tamaño .. o de tal peso (bytes) .. etc.

Intenta usar:
error_reporting (E_ALL);

al principio de tu script para detectar errores que no se estén visualizando.

Un saludo,
  #5 (permalink)  
Antiguo 08/11/2005, 10:45
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Lo coloque y no me tira errores, salvo uno de conexion a la base de datos que no influye en nada en este script.

Con respecto a las direfencias entre las imagenes, es medio loko lo que pasa:

IMAGENES DESDE UNA CAMARA DIGITAL
PA020033.JPG
PA020034.JPG
PA020035.JPG

en promedio 600 kb c/u. Estas no funciona ninguna.

IMAGENES QUE CREE YO CON EL PHOTOSHOP
bull-VIAL000555.JPG (750kb)
lemoDESIGN.jpg (400kb)

Estas funcionan bien.

Envio el Link donde esta corriendo este script (funciona MAL):
http://www.softdemonitoreo.com/fotos_sg.php

Envio el Link donde esta corriendo este script (funciona BIEN):
http://www.lemodesign.com/offline/so...o/fotos_sg.php

Con el peso no es el problema me parece.
Lo unico que puedo llegar a pensar es que la camara digital configure al JPG diferentemente que el photoshop... pero es medio loko no? un JPG es un JPG. Pero igualmente no entiendo como en un servidor funciona bien y en otro no!.
__________________
Saludos :adios: :adios: :adios:
  #6 (permalink)  
Antiguo 08/11/2005, 11:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Lo unico que puedo llegar a pensar es que la camara digital configure al JPG diferentemente que el photoshop... pero es medio loko no? un JPG es un JPG. Pero igualmente no entiendo como en un servidor funciona bien y en otro no!.
mm bueno .. Deberías confirmarlo en el foro de Diseño .. Pero creo que no .. un JPG está comprimido y hay vários formatos ("parece que: progresivas y no- progresivas, JPEG 2000 que no se si es lo mismo .. ) .. incluso con datos extra sobre la imagen (que es lo que emplean las camaras digitales) ... Tal vez eso no lo proces bien GD ..

Revisa las especificaciones de GD (la librería):
http://www.boutell.com/gd/

Por cierto usas GD .. que versión? (2.x?)

Un saludo,
  #7 (permalink)  
Antiguo 08/11/2005, 11:50
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Ya se solucionó.
Si son GD 2.0.23 creo. Pero es 2 seguro la version.

El problema era con la memoria q utilizaba el PHP "memory_limit", ah sido aumentado y ahora funciona genial.

Espero que todo este tema haya servido para alguien mas que le suceda lo mismo.

Saludos y Gracias Cluster!
__________________
Saludos :adios: :adios: :adios:
  #8 (permalink)  
Antiguo 08/11/2005, 12:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo extraño de todo esto es que no hemos visto mensajes de error .. Por qué PHP los arroja ante estos eventos ..

Revisa o pregunta a tu proveedor como usa el (php.ini)
display_error .. es probable que lo use a "OFF" .. si es así .. buff .. se hace complicado detectar problemas (pero supuestamente "ganas" en seguridad por no arrojar datos comprometedores ante errores de tus scripts/programación)

Un saludo,
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 10:24.