Comunidad de diseño web y desarrollo en internet online

Resize de imagen, mover el archivo a otro carpeta y cambiar el nombre

Citar            
MensajeEscrito el 14 Ago 2011 09:42 pm
Mis cordiales saludos,

Bueno estoy teniendo problemas para hacer esas 3 cosas a la vez. Logré resizear la imagen y llevarla a otra ruta.

Pero... necesito cambiarle el nombre por una variable id. que representa a la foto de cada usuario. La cosa es que no se como también cambiarle el nombre.

El archivo 1 contiene esto..

Código :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="2.php" id="formulario1" enctype="multipart/form-data">
<fieldset id="recuformulario">
<legend>Redimensionar una imagen en el servidor (Thumbnail)</legend>
<p><label for="mail">Seleccione imagen:</label>
<input type="file" name="imagen" id="imagen"</p>
<p><input type="submit" value="Confirmar" id="confirmar"></p>
</fieldset>
</form>
</body>
</html>



el archivo 2 contiene :

Código :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
  copy($_FILES['imagen']['tmp_name'],$_FILES['imagen']['name']);
  move_uploaded_file($_FILES['imagen']['tmp_name'],'img/2.jpg');
  
  require('3.php');
  $thum1=new Thumbnail($_FILES['imagen']['name'],100,100);
  $thum1->guardar('img/xxx'.$_FILES['imagen']['name']);
  $thum1->redimensionar(0.50);
  $thum1->guardar('img/yyy'.$_FILES['imagen']['name']);
?>




</body>
</html>



y el archivo 3 contiene

Código :

<?php
class Thumbnail {
  private $archi;
  private $extension;
  private $ancho;
  private $alto;
  public function __construct($archi,$ancho=100,$alto=100)
  {
    $this->archi=$archi;
    $vec=explode('.',$archi);
    $this->extension=strtoupper($vec[sizeof($vec)-1]);
    $this->ancho=$ancho;
    $this->alto=$alto;
  }

  private function guardarEnDisco($imagen,$archinuevo)
  {
    $vec=explode('.',$archinuevo);
    $ext=strtoupper($vec[sizeof($vec)-1]);
    switch ($ext) {
     case "PNG":
             imagepng($imagen,$archinuevo);  
        break;   
     case "GIF":
             imagegif($imagen,$archinuevo);  
        break;
     case "JPG":;
     case "JPEG":
             imagejpeg($imagen,$archinuevo);  
        break;          
   }
  }
  
  public function guardar($archinue)
  {
    $tam=getimagesize($this->archi); 
    $imagen=imagecreatetruecolor($this->ancho,$this->alto);  
    switch ($this->extension) {
     case "PNG":
             $origen=imagecreatefrompng($this->archi);  
             imagecopyresampled($imagen,$origen,0,0,0,0,$this->ancho,$this->alto,$tam[0],$tam[1]);  
             $this->guardarEnDisco($imagen,$archinue);  
        break;   
     case "GIF":
             $origen=imagecreatefromgif($this->archi);  
             imagecopyresampled($imagen,$origen,0,0,0,0,$this->ancho,$this->alto,$tam[0],$tam[1]);  
             $this->guardarEnDisco($imagen,$archinue);  
        break;
     case "JPG":;
     case "JPEG":
             $origen=imagecreatefromjpeg($this->archi);  
             imagecopyresampled($imagen,$origen,0,0,0,0,$this->ancho,$this->alto,$tam[0],$tam[1]);  
             $this->guardarEnDisco($imagen,$archinue);  
        break;          
   }
  }

  public function redimensionar($porc)
  {
    $tam=getimagesize($this->archi); 
    $this->ancho=$tam[0]*$porc;
    $this->alto=$tam[1]*$porc;
  }
} ?>



Espero su ayuda. Muchas gracias

Por yoelotero

51 de clabLevel



Genero:Masculino  

Programador web.

firefox
Citar            
MensajeEscrito el 15 Ago 2011 01:45 pm
pues creo q con modificar tu archivo

Código PHP :

<?php
//solo es un ejemplo ya tu veras como generar el ID
$id_del_archivo = time();

  copy($_FILES['imagen']['tmp_name'],$_FILES['imagen']['name']);
  move_uploaded_file($_FILES['imagen']['tmp_name'],'img/'.  $id_del_archivo   .'.jpg');
  
  require('3.php');
  $thum1=new Thumbnail($_FILES['imagen']['name'],100,100);
  $thum1->guardar('img/100_100_'.$id_del_archivo );
  $thum1->redimensionar(0.50);
  $thum1->guardar('img/thumb_50_'.$id_del_archivo );
?>

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Ago 2011 05:35 pm
Buenisimo, a la noche lo pruebo.

Gracias!

Por yoelotero

51 de clabLevel



Genero:Masculino  

Programador web.

firefox

 

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