Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2010, 18:08
softx3
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
error al redimencionar imagenes de mas de 2 mb

Hola amigos, bueno este codigo funciona bien cuando redimenciona las imagenes, pero cuando son mayores a 2 mb no funciona y ya tengo tiempo intentando y no logro realizarlo, se los dejo para ver cuales modificaciones son la mejor opcion. De antemano les doy las Gracias.

Código PHP:
Ver original
  1. <?
  2. //limite de memoria
  3. ini_set("memory_limit","50M");
  4. ini_set('post_max_size','10M');
  5. ini_set('upload_max_filesize','10M');
  6. ini_set('max_execution_time','1000');
  7. ini_set('max_input_time','1000');
  8.  
  9. //imagen original
  10. $imgOriginal = $_POST["var1"];
  11. //ruta de la imagen
  12. $ruta = "../../config/fotosTem/uploads/";
  13. //quitar espacios y sustituir
  14. //extencion y nombre del archivo
  15. $res = explode(".", $imgOriginal);
  16. $extension = $res[count($res)-1];
  17. $nombreArc = $res[count($res)-2];
  18. //remplazar espacios por
  19. $imgRemplazada = str_replace(" ", "_", $nombreArc);
  20. //cambiar nombre viejo por el nuevo
  21. rename($ruta.$imgOriginal,$ruta.$imgRemplazada.".".$extension);
  22. $imgNueva = $imgRemplazada.".".$extension;
  23. //Redimenciono la imagen si es mayor 800 o peso es mayor a 150k
  24. $tamano = filesize($ruta.$imgNueva);
  25. $datos1 = getimagesize($ruta.$imgNueva);
  26. //echo $datos1[0]." ".$tamano." ".$imgNueva;
  27. if($datos1[0] > 800 || $tamano > 152828){
  28.     //echo "<br/>entra";
  29.     $anchura=800;
  30.     $hmax=600;
  31.     $datos = getimagesize($ruta.$imgNueva);
  32.     if($datos[2]==1){$img = @imagecreatefromgif($ruta.$imgNueva); }
  33.     if($datos[2]==2){$img = @imagecreatefromjpeg($ruta.$imgNueva);}
  34.     if($datos[2]==3){$img = @imagecreatefrompng($ruta.$imgNueva); }
  35.     if($datos[2]>3){ die('Image format not supported'); echo "error img ".$imgNueva;}
  36.     $ratio = ($datos[0] / $anchura);
  37.     $altura = ($datos[1] / $ratio);
  38.     if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
  39.     $thumb = imagecreatetruecolor($anchura,$altura);
  40.     imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
  41.     if($datos[2]==1){imagegif($thumb, $ruta.$imgNueva);}
  42.     if($datos[2]==2){imagejpeg($thumb, $ruta.$imgNueva, 75);}
  43.     if($datos[2]==3){imagepng($thumb, $ruta.$imgNueva); }
  44. }
  45. ?>