Comunidad de diseño web y desarrollo en internet online

Subir imagenes con PHP y cambiarle el tamaño

Citar            
MensajeEscrito el 23 Jul 2007 02:40 pm
Hola... les cuento que quiero subir imagenes con fileReference al hosting con un formulario pero no entiendo php... el tema es que quiero que suban las imagenes con cualquier tamaño pero que cuando esten subiendo de alguna forma le cambie el tamaño... por ejemplo ... si yo subo una imagen en 1024x768 y el servidor la recibe en 640x480... y que si es 768x1024 la suba en 480x640 espero que se entienda...

estoy usando un php muy conocido.... aca les dejo el codigo para saber si alguien lo entiende y me puede ayudar

Código :

<?php
//carpeta donde guardaremos el archivo
$carpeta = 'archivos';
//ruta completa del archivo que guardaremos
$nombre = "$carpeta/" . basename($_FILES['Filedata']['name']);
//si el archivo se guarda satisfactoriamente
if ( @move_uploaded_file( $_FILES['Filedata']['tmp_name'] , $nombre )) {
   //enviamos a flash un mensaje de que este archivo existe
   header('HTTP/1.1 200 OK');
}else{
   //sino, le decimos a flash que este archivo (upload.php) no existe,
   //asi flash gatillara el evento onHTTPError
   header('HTTP/1.1 404 Not Found');
}
?>


espero que se pueda modificar... gracias...

Por sergiogmuro

19 de clabLevel



 

msie7
Citar            
MensajeEscrito el 24 Jul 2007 06:13 am
A mi en una web me pasan unas fotos, eso sí, siempre al mismo tamaño. Con este código las convierto automáticamente en una anchura de 440 y la altura proporcional. Puedes darle también una altura a mano. Pero puede cambiar la imagen. Para hacer que dependiendo de una imagen u otra haga una resolución adaptada, usa if y imagesx - imagesy.



//otro



$file = $nombre;//Nombre de la imagen Original


function image_gd($file)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
$extension = explode(".",$file);
$ext = count($extension)-1;
//Determinamos las extenciones permitidas.
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
{
$image = ImageCreateFromJPEG($file);
}
else if($extension[$ext] == "gif"){
$image = ImageCreateFromGIF($file);
}
else if($extension[$ext] == "png"){
$image = ImageCreateFromPNG($file);
}
else
{
echo "Error, extencion no permitida";
die();
}

$thumb_name = substr($file,0,-4);//nombre del thumbnail
$width = imagesx($image);//ancho
$height = imagesy($image);//alto

$nueva_anchura = 440; // Definimos el tamaño a 100 px
$nueva_altura = ($nueva_anchura * $height) / $width ; // tamaño proporcional

if (function_exists("imagecreatetruecolor"))
{
$thumb = ImageCreateTrueColor($nueva_anchura, $nueva_altura);//Color Real
}
//En caso de no encontrar la funcion, la saca en calidad media
if (!$thumb) $thumb = ImageCreate($nueva_anchura, $nueva_altura);

ImageCopyResized($thumb, $image, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
//header("Content-type: image/jpeg");
ImageJPEG($thumb, "".$thumb_name.".jpg", 99);
imagedestroy($image);

return $image;
}
/* Forma de uso */
//for($total=$total;$total>0;$total--){
//Nombre de la imagen Original
image_gd($file);
//}

Por sirguy

52 de clabLevel



 

msie7
Citar            
MensajeEscrito el 24 Jul 2007 03:34 pm
muchas gracias.. lo voy a probar

Por sergiogmuro

19 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Mar 2010 10:06 am
Muy bueno, si señor, funciona perfectamente.
Muchisimas gracias :D

Por arzas

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Abr 2010 04:01 pm
ese código me ahorró minimo una horita de trabajo.. gracias! :wink:

Por Freeki

Claber

183 de clabLevel



Genero:Masculino  

Desarrollador Web Uy

firefox
Citar            
MensajeEscrito el 20 Ene 2011 07:49 pm
:o oh gracias sirguy .. si funciona. avian otros que te achicaban pero deformaban los colores. o sino te ponian anchos con colores de fondo para qeu sea chico. pero el de tuyo se lleba el premio. gracias!!

Por maxhenrry

3 de clabLevel



Genero:Masculino  

peru

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.