Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/01/2007, 19:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Ayuda urgente y deseperada

Hola,

bien creo q deberia qdar asi, no lo probe mucho pero debe funcionar:

Código PHP:
<?php
//Si no se ha especificado el archivo
if(empty($_GET['archivo'])) {
echo 
'No se especifico la ruta';
exit;
}
 
//Si no se ha especificado el archivo
if(empty($_GET['alto'])) {
echo 
'No se especifico el nuevo alto de la imagen';
exit;
}
 
//Si no se ha especificado el archivo
if(empty($_GET['ancho'])) {
echo 
'No se especifico el nuevo ancho de la imagen';
exit;
}
 
$archivo $_GET['archivo'];
 
//Averiguamos la extension del archivo, porque de eso van a depender las funciones a usar
$extension pathinfo($archivo);
$extension $extension['extension'];
 
//Escoger la funcion. Usamos la funcion switch
switch($extension) {
case 
'jpg':
$f1 "imagecreatefromjpeg";
$f2 "imageJpeg";
$type "jpeg";
break;
case 
'gif':
$f1 "imagecreatefromgif";
$f2 "imageGif";
$type "gif";
break;
case 
'png':
$f1 "imagecreatefrompng";
$f2 "imagePng";
$type "png";
break;
default:
echo 
'Error, tipo desconocido de archivo: '.$extension;
exit;
}
 
$img_fuente = @$f1($archivo);
//Dimensiones
$img_anchoimagesx($img_fuente);
$img_alto =imagesy($img_fuente);
$ancho $_GET['ancho'];
$alto $_GET['alto'];
$diferencia_ancho $img_ancho/$ancho;
$diferencia_alto $img_alto/$alto;
if(
$diferencia_ancho $diferencia_alto) {
$nuevo_ancho $ancho;
$prop $nuevo_ancho/$img_ancho;
$nuevo_alto round($img_alto*$prop);
} else {
$nuevo_alto $alto;
$prop $nuevo_alto/$img_alto;
$nuevo_ancho round($img_ancho*$prop);
}
 
$imagen imagecreate($nuevo_ancho$nuevo_alto);
imagecopyresized($imagen$img_fuente0000$nuevo_ancho$nuevo_alto$img_ancho$img_alto);
Header("Content-type: image/$type");
$f2($imagen);
?>
Pruebalo y me comentas

Salu2

Última edición por okram; 25/08/2007 a las 18:32