Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2005, 08:44
Avatar de tognaco
tognaco
 
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
Expediente X con imagecreatefrompng

Tengo un código para redimensionar imágenes si se detecta que miden más de 290 píxeles de alto que me funciona perfectamente en todos los servidores en los que había probado hasta hoy y con todos los navegadores

Código PHP:
if ($_FILES['imagen_conclusiones']['type']=="image/jpeg"){
    
$img=imagecreatefromjpeg($nuevo_nombre);
    
$bx=imagesx($img);
    
$by=imagesy($img);
    if (
$by>290){
        
$my=290;
        
$mx=intval($my*$bx/$by);
        
$im=imagecreatetruecolor ($mx$my);
        
imagecopyresampled ($im$img0000$mx$my$bx$by);
        
imagejpeg($im,$nuevo_nombre,75);
        }
}elseif (
$_FILES['imagen_conclusiones']['type']=="image/png"){
    
$img=imagecreatefrompng($nuevo_nombre);
    
$bx=imagesx($img);
    
$by=imagesy($img);
    if (
$by>290){
        
$my=290;
        
$mx=intval($my*$bx/$by);
        
$im=imagecreatetruecolor ($mx$my);
        
imagecopyresampled ($im$img0000$mx$my$bx$by);
        
imagejpeg($im,$nuevo_nombre,75);
        }    

... sigue un rato más, pero el resto es irrelevante para lo que paso a exponer. El caso es que he instalado bajo Debian Sarge un XAMPP bajo el cual también me funciona el script EXCEPTO cuando se trata de imágenes png. He revisado mil veces el código y estoy seguro de que está bien. Y lo más raro de todo es que no me da mensaje de error, sino que simplemente el script deja de actuar y se para la ejecución pero sin producir mensajes de error. A base de poner expresiones del tipo..

Código PHP:
echo 'hasta aquí llego bien';
exit(); 
he podido aislar que el problema se produce en la línea

Código PHP:
$img=imagecreatefrompng($nuevo_nombre); 
Hasta ahí el script se ejecuta pero ahí se para y no hace nada más. La versión de PHP es la 5.02 (también he probado con una 4.3 y me hace lo mismo). Los navegadores son Mozilla y Firefox (no creo que tenga influencia, pero bueno). ¿Alguna idea de que puede estar ocurriendo?

Gracias y perdón por la extensión del mensaje.

Última edición por tognaco; 05/04/2005 a las 08:45