Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/06/2005, 01:38
pellagofio
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 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
?>