Foros del Web » Programando para Internet » PHP »

Mi humilde aporte a este foro PHP

Estas en el tema de Mi humilde aporte a este foro PHP en el foro de PHP en Foros del Web. Hola Amigos, quiero compartir un código que adapte, que conste que no lo escribí yo, y espero que les sea de utilidad, lo que hace ...
  #1 (permalink)  
Antiguo 27/12/2007, 13:31
 
Fecha de Ingreso: diciembre-2007
Ubicación: Arica-Chile
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Mi humilde aporte a este foro PHP

Hola Amigos, quiero compartir un código que adapte, que conste que no lo escribí yo, y espero que les sea de utilidad, lo que hace es lo siguiente:

1. Subir una imagen en formato jpg
2. Redimensionar al tamaño deseado la misma imagen sobreescibiendo la original
3. Generar el thumbnails correspondiente, tambien al tamaño deseado.

Nota: El redimensionamiento siempre mantiene la proporción.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
        <input name="archivo" type="file" size="35" />
        <input name="enviar" type="submit" value="Upload File" />
        <input name="action" type="hidden" value="upload" />     
</form>

<?php
if ($_POST["action"] == "upload"

   
$tamano $_FILES["archivo"]['size']; 
   
$tipo $_FILES["archivo"]['type']; 
   
$archivo $_FILES["archivo"]['name']; 

          
   (
$archivo != "") or die ("Error al subir la imagen ".$archivo); 
   
$destino =  "fotosavisos/".$archivo
   
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino);
   
$status "La imagen <b>".$archivo."</b> se a subido correctamente !"
   echo 
$status

   
crearthumb("fotosavisos/","fotosavisos/",230,"",$archivo);
   
crearthumb("fotosavisos/","thumb/",85,"mini_",$archivo);
}
?>

<?php
function crearthumb ($pathToImages$pathToThumbs$thumbHeight$prefijo$nombreImagen)
{

  
$img imagecreatefromjpeg($pathToImages.$nombreImagen );
  
$width imagesx($img);
  
$height imagesy($img);

   
$thumbWidth = ($width $thumbHeight) / $height

   
//landscape 
   
if((($height/$thumbHeight) > $width/$thumbWidth)){ 
      echo(
'landscape: <br>'); 
      
$new_height $thumbHeight
      
$new_width floor($width $thumbHeight $height); 
   }else{
   
//vertical 
      
echo('portrait: <br>'); 
      
$new_height floor($height $thumbWidth $width); 
      
$new_width $thumbWidth
   }

  
// calcula el tamaño
    
$new_height $thumbHeight;
    
$new_width floor($width $thumbHeight $height); 

  
// crea una nueva imagen de manera temporal
  
$tmp_img imagecreatetruecolor($new_width$new_height);

  
// copia y dedimensiona la nueva imagen en la temporal que hemos creado
  
imagecopyresized($tmp_img$img0000$new_width$new_height$width$height);

  
// guarda el thumbnail en un archivo
  
imagejpeg($tmp_img$pathToThumbs.$prefijo.$nombreImagen100);
}
?> 
</body>
</html>
Saludos ....
  #2 (permalink)  
Antiguo 27/12/2007, 13:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mi humilde aporte a este foro PHP

No he probado el código, pero la idea es bastante buena.

Lo ideal sería tenerlo en las FAQS. También estaría bien validarlo y plantear mejoras de funcionalidad y rendimiento si fuesen necesarias (yo ahora ando bastante liado, no puedo mirarlo).

Estaría bien tener un sitio donde dejar scripts de éste estilo y que la gente pueda aportar mejoras y sugerencias. Aunque para eso ya existen cientos de páginas, pero bueno.
  #3 (permalink)  
Antiguo 27/12/2007, 14:04
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Mi humilde aporte a este foro PHP

ya cluster puso algo sobre ello, muy bueno el script, se trata de guardar la imagen dentro de la base de datos en forma binaria dentro de un campo tipo blob
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #4 (permalink)  
Antiguo 27/12/2007, 14:24
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Re: Mi humilde aporte a este foro PHP

Pos ese aporte esta en las FAQs, es cuestión de leerlo detenidamente y ver que te sirve. En lo personal veo que lo programaste bien, hasta ahí. Un aporte sería algo más... original...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:49.