resize.php
Código PHP:
<?php
/*
Copyright (C) 2006 Francisco Javier Trujillo Jimenez
Este script es software libre . Puede redistribuirlo y/o modificarlo bajo los terminos de Licencia Pública General
de GNU según ha sido publicada por la Free Sofrware Fundation, bien la versón 2 de dicha Licencia o bien cualquier version posterior.
*/
function imagendeancho($vFoto,$rutanueva,$nuevoancho,$id) {
$nFoto=$vFoto['name'];//nombre de la foto original
$tFoto=$vFoto['tmp_name'];//nombre de la foto temporal
$ext = Array("jpg","png","bmp","gif");
for($i=0;$i<count($ext);$i++){ //hago un buche para fijarme si la extencion está...
if(ereg($ext[$i]."$", $nFoto)){ //si se encuntra la una de las extencion permitidas al final de la cadena
$si=true; //entonces $si es igual a true
$image_type=$ext[$i];
}
}//termino el bucle..
if($si)//si $si es igual a true (que ha sido declarado asi anteriormente) entonces.. subo el archivo
{
switch($image_type) {
case 'jpg':
$img = imagecreatefromjpeg($tFoto);
break;
case 'png':
$img = imagecreatefrompng($tFoto);
break;
case 'gif':
$img = imagecreatefromgif($tFoto);
break;
default:
echo("Error Invalid Image Type");
die;
break;
}
$ancho = imagesx($img);
$alto = imagesy($img);
$ratio=$ancho/$alto;
$nuevoalto=$nuevoancho/$ratio;
$nuevafoto = imagecreatetruecolor($nuevoancho,$nuevoalto);
imagecopyresized($nuevafoto, $img, 0, 0, 0, 0, $nuevoancho, $nuevoalto, $ancho, $alto);
$r_nfoto=$rutanueva."imagen_".$id.".png";//crea una imagen en la ruta dada y como nombre imagen_+id
imagepng($nuevafoto,$r_nfoto,100);
echo '<img src="'.$rutanueva."imagen_".$id.".png".'">';//muestra la imagen
}
else
{
echo "extension no valida";
}
}
?>