![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
28/06/2005, 01:38
|
| | Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 21 años, 2 meses Puntos: 2 | |
Bueno, aquí te dejo el código. NO lo he probado, pero creo que funcionará.
<?php
function redimencionar($file) {
// Función que REEMPLAZA una imágen JPEG por otra con diferenetes dimenciones...
// Se da por echo la imágen existe y es una imágen JPEG (no se hacen validaciones)
$imagen = ImageCreateFromJPEG($file);
unlink($file); // BORRAMOS el archivo original
$width = imagesx($imagen);
$height = imagesy($imagen);
if (height<640) //# principio del if 1
{
if (Width=800)
$nueva_anchura = 640;
if ($width=600)
$nueva_anchura = 468;
$nueva_altura = ($nueva_anchura * $height) / $width ; //# Para un alto proporcinal (RECOMENDADO) ó ingresa directamente el alto requerido.
if (function_exists("imagecreatetruecolor"))
{
$calidad = ImageCreateTrueColor($nueva_anchura, $nueva_altura);
}
else
$calidad = ImageCreate($nueva_anchura, $nueva_altura);
ImageCopyResized($calidad, $imagen, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
ImageJPEG($calidad, $file, 100);
imagedestroy($imagen);
return true;
// Forma de uso:
// redimencionar(/ruta/archivo.jpg)
}
// Suponiendo se tiene <input type="file" name="imagen">
if (is_uploaded_file($_FILES['imagen']['tmp_name']))
{
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg")
{
$nombre= "imagenes/".$_FILES['imagen']['name']; // Conserva su nombre original, se guarda en una carpeta imagenes
if (move_uploaded_file($_FILES['imagen']['tmp_name'], $nombre))
{
if (redimencionar($nombre)) // una vez definido el nombre del archivo no importa dónde se llame a la función
{
echo "<img src=\"$nombre\">";
}
else
echo "La función redimencionar() tubo fallos<br>";
}
else
echo "<b>ERROR:</b><br> No se pudo mover el archivo<br>";
}
else
echo "<b>Tipo de archívo inválido</b><br>";
}
else
echo "Error al subir el archivo....<br>";
}
else
{
echo "Tamaño de la imagen no permitido...";
} //# fin del if 1
?> |