Respuesta: Problemas con imagecreatefromjpeg No me sale ningun error, directamente la pantalla se me queda en blanco...
la imagen la sube correctamente al servidor, el problema es al querer redimensionarla tengo que usar imagecreatefromjpeg y ahi da el problema
El server lo tengo configurado en: upload_max_filesize 16M
Código:
$max=3500000;
$filesize = $_FILES['img1']['size'];
$filename = trim($_FILES['img1']['name']);
$filename= limpiar_caracteres_especiales($filename);
$raza=sacaraza($animal, $raza);
if($filesize < $max)
{
if($filesize > 0)
{
if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename)))
{
$sql="INSERT INTO animales(usuario, animal, raza, nombre, descripcion, foto, fecha) VALUES('$usuario', '$animal', '$raza', '$nombre', '$descripcion', '$filename', NOW())";
$resultado=mysql_query($sql);
$rs = mysql_query("SELECT @@identity AS id");
if ($row = mysql_fetch_row($rs))
{
$id = trim($row[0]);
}
$carpeta= $id;
$directorio="imagenes/$carpeta/";
mkdir ($directorio);
$uploaddir = "$directorio";
$uploadfile = $uploaddir . $filename;
if (move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile))
{
print("Archivo subido correctamente");
if((ereg(".jpg", $filename))|| (ereg(".JPG", $filename)))
{
$img_origen = imagecreatefromjpeg($uploadfile);
if(imagesx($img_origen)>500)
{
$redimensionado=reduceimagenjpg($uploadfile);
}
if(imagesx($img_origen)>250)
{
$directorio="imagenes/$carpeta/medio/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
$redimensionado1=mediajpg($uploadfile, $nuevaruta);
}
else
{
$directorio="imagenes/$carpeta/medio/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile);
}
if(imagesx($img_origen)>160)
{
$directorio="imagenes/$carpeta/mini/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
$redimensionado1=miniaturajpg($uploadfile, $nuevaruta);
}
else
{
$directorio="imagenes/$carpeta/mini/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile);
}
}
else if((ereg(".gif", $filename))|| (ereg(".GIF", $filename)))
{
$img_origen = imagecreatefromgif($uploadfile);
if(imagesx($img_origen)>500)
{
$redimensionado=reduceimagengif($uploadfile);
}
if(imagesx($img_origen)>250)
{
$directorio="imagenes/$carpeta/medio/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
$redimensionado1=mediajpg($uploadfile, $nuevaruta);
}
if(imagesx($img_origen)>160)
{
$directorio="imagenes/$carpeta/mini/";
mkdir ($directorio);
$uploaddir = "$directorio";
$nuevaruta = $uploaddir . $filename;
$redimensionado1=miniaturagif($uploadfile, $nuevaruta);
}
}
if (!$resultado)
{
die('Fallo en la insercion del animal en la Base de Datos: ' . mysql_error());
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
else
{
echo "Enhorabuena, el animal ha sido correctamente añadido";
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
}
else
{
print("Error de conexión con el servidor.");
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
}
else
{
print("Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.");
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
}
else
{
print("<br><br>Campo vacío, no ha seleccionado ninguna imagen principal");
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
}
else
{
print("<br><br>La imagen que ha intentado adjuntar es mayor de 3.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
?>
<form action="index.php" method="post">
<input type="submit" value="Volver" />
</form>
<?
}
el codigo de las funciones:
Código:
function reduceimagenjpg($imagen)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 500;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
imagejpeg($img_destino, $imagen);
}
function reduceimagengif($imagen)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 500;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
imagejpeg($img_destino, $imagen);
}
function mediajpg($imagen, $nuevaruta)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 250;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
imagejpeg($img_destino, $nuevaruta);
}
function mediagif($imagen, $nuevaruta)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 250;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));;
imagejpeg($img_destino, $nuevaruta);
}
function miniaturajpg($imagen, $nuevaruta)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 160;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
imagejpeg($img_destino, $nuevaruta);
}
function miniaturagif($imagen, $nuevaruta)
{
$img_origen = imagecreatefromjpeg($imagen);
$ancho_origen = imagesx(img_origen);
$alto_origen = imagesy(img_origen);
$ancho_limite = 160;
$ancho_origen = $ancho_limite;
$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));;
imagejpeg($img_destino, $nuevaruta);
}
function limpiar_caracteres_especiales($s) {
$s = ereg_replace("[áàâãª]","a",$s);
$s = ereg_replace("[ÁÀÂÃ]","A",$s);
$s = ereg_replace("[éèê]","e",$s);
$s = ereg_replace("[ÉÈÊ]","E",$s);
$s = ereg_replace("[íìî]","i",$s);
$s = ereg_replace("[ÍÌÎ]","I",$s);
$s = ereg_replace("[óòôõº]","o",$s);
$s = ereg_replace("[ÓÒÔÕ]","O",$s);
$s = ereg_replace("[úùû]","u",$s);
$s = ereg_replace("[ÚÙÛ]","U",$s);
$s = str_replace(" ","-",$s);
$s = str_replace("ñ","n",$s);
$s = str_replace("Ñ","N",$s);
return $s;
}
Última edición por albertusphp; 04/10/2012 a las 02:54 |