Foros del Web » Programando para Internet » PHP »

Funcion para achicar imagenes a dos tamaños diferentes

Estas en el tema de Funcion para achicar imagenes a dos tamaños diferentes en el foro de PHP en Foros del Web. He usado una funcion para generar versiones mas pequeñas partiendo de una imagen durante mucho tiempo sin tener problemas. Pero ahora un cliente contrato un ...
  #1 (permalink)  
Antiguo 28/12/2006, 15:48
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
Funcion para achicar imagenes a dos tamaños diferentes

He usado una funcion para generar versiones mas pequeñas partiendo de una imagen durante mucho tiempo sin tener problemas.
Pero ahora un cliente contrato un hosting (www.arsys.es) en el que me esta dando problemas.
La funcion es la siguiente:
Código PHP:
function achicar($img_s$img_save$tamano){ 
    
$image $img_s;
    
$iOriginalImageCreateFromJPEG($image);
    
$porcentaje=99;
    
$ancho $iAncho imageSX($iOriginal);
    
$alto $iAlto imageSY($iOriginal);
    while(( 
$ancho $tamano) )    {
        
$ancho= ($porcentaje $ancho)/100;
        
$alto= ($porcentaje $alto)/100;
    }
    
settype($ancho,"integer");
    
settype($alto,"integer");
    
$iNueva=imageCreate($ancho$alto);
    
imagejpeg($iNueva "../fotos/imagenbase.jpg");
    
$iNueva ImageCreateFromJPEG("../fotos/imagenbase.jpg");
    
imagecopyresampled ($iNueva $iOriginal0,000$ancho$alto$iAncho$iAlto);
    
$img2 $img_save;
    
imagejpeg($iNueva ,$img2);
    
imagedestroy($iNueva);
    return 
$img2;

../fotos/imagenbase.jpg es una imagen pequeña con permisos 777
y para generar las dos imagenes llamo a la funcion asi:

achicar($archivo, $archivo, 600);
achicar($archivo, $archivo_small, 150);


El problema es que cuando se intenta subir una imagen grande el da error (no de PHP sino de apache).
En un principio pense que era porque el servidor tenia las variables max_execution_time y max_input_time con valores muy bajo (de hecho sigo pensando que eso pueda dar error), pero como se negaron a modificar esos valores segui haciendo pruebas y descubri que si solo subo los archivos y no les aplico la funcion no da ningun error por mas que sean pesados. Y por eso pienso que es la funcion lo que da el problema.

Por su parte todas las funciones que encontre por aqui en los foros solo toman una imagen y la reducen. Y como yo necesito crear dos imagenes de distintos tamaños no me sirven.
Por lo que necesitaria una que me tome una imagen y partiendo de ella me cree la imagen nueva (justo como la funcion que estaba usando).

Por las dudas les dejo el error que devuelve el servidor:

Cita:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
__________________
oohh... quisiera ser godines!!!
  #2 (permalink)  
Antiguo 28/12/2006, 15:53
pablasso
Invitado
 
Mensajes: n/a
Puntos:
Re: Funcion para achicar imagenes a dos tamaños diferentes

podrias decirnos el output de:

Código PHP:
var_dump(gd_info()); 
  #3 (permalink)  
Antiguo 29/12/2006, 13:25
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
Re: Funcion para achicar imagenes a dos tamaños diferentes

Hola pablasso,

esto es lo que devuelve eso:

array(11) { ["GD Version"]=> string(27) "bundled (2.0.28 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }

saludos, FS
__________________
oohh... quisiera ser godines!!!
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 17:44.