Alguien que me diga como solventar esto!!
[email protected] ("Irantzu Leunda Biskarret")
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <00BF82BC696C4F9495022BEB9FA8D95A@Irantzu> |
Tengo una web en la que se suben imágenes y yo las redimensiono antes de
subir, el caso es que mi cliente no controla nada de computadores y sus
fotos en algunas ocasiones pesan demasiado y ahora estoy yo tratando de
subir un par de fotos que pesan algo mas de 1 mega y me sale este error
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to
allocate 12288 bytes) in
/home/dosal0/public_html/arratiakoinmobiliaria/gestion/redimensionaimagen.php
on line 18
CODIGO redimensioanimagen.php
<?php
//$imagen es la ruta en el servidor de la imagen subida
$imagen_nombre = $directorio . $nombre_archivo;
//$path es la ruta donde queremos que se guarde
$path = $directorio;
//$iden es el nombre que queremos darle, en mi caso es el id
// de la noticia insertada
$iden = $nombre_archivo;
$im = NULL;
//dependiendo de la extensión creamos el recurso de la imagen
if(stristr($imagen_nombre, 'jpg')){$im =
imagecreatefromjpeg($imagen_nombre);}
if(stristr($imagen_nombre, 'gif')){$im =
imagecreatefromgif($imagen_nombre);}
if(stristr($imagen_nombre, 'png')){$im =
imagecreatefrompng($imagen_nombre);}
//Si el archivo tenia extensión JPG, GIF o PNG está permitido y tendremos
una imagen cargada
if($im !== NULL)
{
//El archivo se llamara
$nombre = $path . $iden;
$nombremed = $path . 'med_' . $iden;
//$nombreth = $path . 'th_' . $iden;
//IMAGEN GRANDE
//Primero creamos la imagen grande. Nuestros limites son 640px de ancho
(el alto se calcula en función del ancho)
$ancho_max = 700;
//ajustamos la anchura
echo "nombre_reg: ".$nombreg;
if(imagesx($im) > $ancho_max)
{
$alto = imagesy($im) * $ancho_max / imagesx($im);
$dest = imagecreatetruecolor($ancho_max, $alto);
imagecopyresampled($dest, $im, 0, 0, 0, 0,$ancho_max, $alto,
imagesx($im), imagesy($im));
imagejpeg($dest, $nombre, 95);
//chmod($nombreg,0777);
imagedestroy($dest);
} else {
imagejpeg($im, $nombre);
//chmod($nombre,0777);
}
//MEDIANA
//Segundo creamos la mediana de la noticia con un ancho máximo
de...($ancho_ok) (el alto se calcula en función del ancho)
/*$anchomed_ok = 250;
$alto = imagesy($im) * $anchomed_ok / imagesx($im);
$dest = imagecreatetruecolor($anchomed_ok, $alto);
imagecopyresampled($dest, $im, 0, 0, 0, 0, $anchomed_ok, $alto,
imagesx($im), imagesy($im));
imagejpeg($dest, $nombremed, 95);
/*
//THUMBNAIL
//Tercero creamos la miniatura de la noticia con un ancho máximo
de...($ancho_ok) (el alto se calcula en función del ancho)
$anchoth_ok = 100;
$alto = imagesy($im) * $anchoth_ok / imagesx($im);
$dest = imagecreatetruecolor($anchoth_ok, $alto);
imagecopyresampled($dest, $im, 0, 0, 0, 0, $anchoth_ok, $alto,
imagesx($im), imagesy($im));
imagejpeg($dest, $nombreth, 95);
*/
/*imagedestroy($dest);
imagedestroy($im);*/
//Opcionalmente podemos borrar el archivo original y liberar espacio en
disco duro
@unlink($imagen);
}
?>
Si alguien quiere ver los archivos que me diga y se lo envío.
Muchas gracias