Profesor yo lo hago asi: (Para trabajar con las 4 extenciones)
Código PHP:
# Ext de la imagen:
$div=(explode('.',$nom));
$ext=array_pop($div);
Y luego:
Código PHP:
# Proceso de IMG grande:
if(eregi('jpeg|jpg',$ext))$img=imagecreatefromjpeg($img);
elseif(eregi('gif',$ext))$img=imagecreatefromgif($img);
elseif(eregi('png',$ext))$img=imagecreatefrompng($img);
Asi que como veras ese no es el problema.
A lo que no le he visto utilidad y por lo tanto omiti es a la parte:
Código PHP:
$size = GetImageSize($imagen);
$tot_x = $size[0];
$tot_y = $size[1];
Aunque tambien prove dejando la linea, y el problema sigue =, con mi form envio 50/70 imagenes, y al final la nueva copia pesa 4 veces + que la original.
Yo me imagino que el rollo es por ser imagenes de entre 800 K y 1200 K, (de bastante calidad y peso), y que la funcion no esta pensada para esos tamaños de imagenes, pero lo cierto es que me salio mejor con PHP que esperar:
http://www.forosdelweb.com/f23/exe-libre-para-rotar-imagenes-sin-que-pierdan-calidad-win-98-a-300382/.
Sin embargo, tener una imagen, (50/70/120 imagenes) de un tamaño de + de 4 Megas es algo obtuso si ella no excede los 2048 x 1360 pixeles....
DATICO:
Tu script me ha permitido rotar hasta 70 imagenes de dimensiones bastante grandes en un tiempo promedio de 50/60 minutos en mi Pc local win/98.
La velocidad de work DE PHP entonces siempre dependera del hardware?
Lo que + me interesa es que las imagenes me queden de un tamaño sobrio/NORMAL.
Incluso coloque
Código PHP:
clearstatcache();
Al final de cada whiile() para ver si era rollo de memoria y tampoco funciono.
Sera por mandarle al procesador de PHP TANTAS imagenes TAN GRANDES de un solo tiro?.
GRACIAS!.