Llegué hasta el form que a continuacion les pongo, sube, valida, etc, pero me redimensiona como es obvio solo si los archivos que subo son JPG, como modifico este codigo para que redimensione a traves de GD cuando las imagenes que subo son GIF o PNG ?, tengo la idea que es con if o con elseif pero me he quedado en eso.
Agradezco su ayuda y dejo el codigo completo.
Código:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<form enctype="multipart/form-data" action="<?PHP echo $PHP_SELF ?>"
method="post">
<div align="left">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Subir una imagen:
<input name="userfile" type="file" size="15">
<input type="submit" name="submit" value="Enviar">
</div>
</form>
<?php
$extension = explode(".",$userfile_name);
$num = count($extension)-1;
if($extension[$num] == "jpg" or $extension[$num] == "jpeg" or $extension[$num] == "gif" or $extension[$num] == "png")
{
if($archivo_size < 300000)
{
if(!move_uploaded_file($userfile, "imagenes/".$userfile_name))
{
echo "Error al copiar el archivo.";
}
else
{
echo "Archivo subido con exito.<br>";
////////////////////////////////TODO ESTO SE PUEDE QUITAR////////////////////////////////////////////
// Utilizando imagecopyresized() para crear un thumbnail automatico
$nombre_imagen = $userfile_name;
// Debo indicar bien el destino del directorio de la imagen
$imagen_origen = ImageCreateFromJPEG("imagenes/$nombre_imagen");
// Calculo el tamaño de la imagen original
$tam_ancho = imagesx($imagen_origen);
$tam_alto = imagesy($imagen_origen);
// Calculo la mitax, para reducirla al 50 %
$ancho = $tam_ancho /2;
$alto = $tam_alto /2;
// Creo la nueva imagen de destino con las medidas (todavia esta vacia)
// Si la imagen no se ve en calidad adecuada reemplazar imagecreate por imagecreatetruecolor
$imagen_destino = imagecreatetruecolor($ancho, $alto);
imagecopyresized($imagen_destino, $imagen_origen, 0, 0, 0, 0, $ancho, $alto, $tam_ancho, $tam_alto);
// Guardamos la imagen en un archivo con le mismo nombre de la imagen original, pero precedido de thumb_
$nombre_destino = "imagenes/thumb_".$nombre_imagen;
// Guardamos la imagen_generada
ImageJPEG($imagen_destino,$nombre_destino,75);
// Mostramos la imagen
echo "La imagen redimensionada ha sido generada.";
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
else
{
echo "el archivo supera 300 Kb.";
}
}
else
{
echo "Los formatos validos son jpg, gif y png";
}
?>
</body>
</html>