Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23/11/2005, 20:51
nngg
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0

<?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);

$nueva_anchura = 200; // Define aquí el ancho requerdo
$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>";
?>


Muchas gracias de nuevo