Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/05/2005, 17:27
sebtev
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
dimensionar.php
Código PHP:
<?
include("form.php");//aquí incluímos un foreach para recibir las variables $_GET, $_POST o $_FILES, en este caso solo $_GET
$imagen $_GET["imagen"];
$ancho $_GET["ancho"];
$alto $_GET["alto"];
$calidad $_GET["calidad"]; //de 1 a 100
if(substr($imagen,-3) == "jpg" || substr($imagen,-3) == "JPG" || substr($imagen,-4) == "JPEG"){
$src_img imagecreatefromjpeg($imagen);
}
elseif(
substr($imagen,-3) == "gif" || substr($imagen,-3) == "GIF"){
$src_img imagecreatefromgif($imagen);
}else{
header("Location: $imagen");
}
$ancho_original imagesx($src_img);
$alto_original imagesy($src_img);
if(!
$alto){
$alto = ($ancho $ancho_original) * $alto_original;
}
if(!
ancho){
$ancho = ($alto $alto_original) * $ancho_original;
}
if(!
$calidad){
$calidad 80;
}
$dst_img imagecreatetruecolor($ancho,$alto);
imagecopyresampled($dst_img$src_img,0,0,0,0,$ancho,$alto,$ancho_original,$alto_original);
header("Content-Type: image/jpeg");
imagejpeg($dst_img,'',$calidad);
imagedestroy($src_img);
imagedestroy($dst_img);
?>
Y a la imagen la llamamos así:
Código PHP:
<img src="http://localhost/misitio/dimensionar.php?imagen=<?=$row['img1'];?>&ancho=300&calidad=80" border="0">

ahora se tendría q ver!!
Donde $row['img1'], es una consulta a la DB donde esta guardado el path hacia la imagen. No es necesario hacerlo así, puedes utilizar algo así para explorar la carpeta donde guardas tus imgs. Demás, creo, esta mencionar q las variables q les pasas a dimensionar.php es para determinar el ancho de la img y automáticamente calcula el alto (también puedes pasarselo, pero distorsionaría la img). La otra variable es la calidad de img.
Código PHP:
$carpeta $_SERVER['DOCUMENT_ROOT']."/mis_imagenes/"//puedes utilizar $_SERVER['SCRIPT_FILENAME'] y dirname si guardas el archivo en la misma carpeta donde estan las imgs
$abrir opendir($carpeta);
static 
$imgs = array();
while(
$archivo readdir($abrir)){
if(
$archivo == '.' || $archivo == '..' || is_dir($carpeta.$archivo){
continue;
}else{
$imgs[] = $archivo;
}
closedir($abrir); 
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...