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;
$iOriginal= ImageCreateFromJPEG($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 , $iOriginal, 0,0, 0, 0, $ancho, $alto, $iAncho, $iAlto);
$img2 = $img_save;
imagejpeg($iNueva ,$img2);
imagedestroy($iNueva);
return $img2;
}
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.
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.