Foros del Web » Programando para Internet » PHP »

subir imagenes con php

Estas en el tema de subir imagenes con php en el foro de PHP en Foros del Web. hola saben que necesito subir imagenes a mi servidor...pero ke esa imagen que valla a subir se guarde en un directorio y la ruta en ...
  #1 (permalink)  
Antiguo 30/12/2010, 22:00
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 13 años, 9 meses
Puntos: 4
subir imagenes con php

hola saben que necesito subir imagenes a mi servidor...pero ke esa imagen que valla a subir se guarde en un directorio y la ruta en la base de datos...que se guarde con un nombre unico irrepetible....y que tambn tenga thumbnail de la foto subida....es posible hacer eso...si alguien sabe porfavor me podria enviar el codigo..o aunkesea decirme un link donde aparesca...muchas gracias
  #2 (permalink)  
Antiguo 30/12/2010, 23:15
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: subir imagenes con php

Yo tengo un código asi, pero seria mejor que supieras como se hace.

bueno te dejo una clase para hacer thumbnails y un ejemplo muy bueno

para subir una imagen hay miles de ejmplos en la web aprende a usarlos cuando lo logres.

usas una condicional
para validar la imagen como esta
Código HTML:
Ver original
  1. if($tipo == "image/jpeg")
  2. {
  3.    $ext='.jpg';
  4.    $ima = antidet($nom).$ext;
  5.    copy($temp,"imaganime/".$ima);
  6.    //thumb
  7.    include("image.php");
  8.    //imagen origen
  9.    $imagen = "imaganime/".$ima;
  10.  
  11. //crear objeto
  12.        $thumbnails = new Imagenes();
  13.  
  14.        //indicar la imagen origen
  15.        $thumbnails->setImagen($imagen);
  16.  
  17.        //indicar el formato de la imagen origen
  18.        $thumbnails->setFormato("jpg");
  19.  
  20.        /*indicar el nivel de compresión. Segun este nivel la imagen
  21.        tendra mayor o menos calidad.*/
  22.        $thumbnails->setCompresion(90);
  23.        
  24.        //indicar donde se creará y con que nombre el thumbnails
  25.        $thumbnails->setNombre("thumb/".$ima);
  26.  
  27.        //indicar el tamaño del thumbnails (250)
  28.        $thumbnails->reducir(150);
  29.        
  30.     $sql = "aqui insertas tu consulta sql";
  31.     $res = mysql_query($sql,$con);
  32.       //yo hago una redireccion para salir de la pagina una vez subida la imagen               
  33.        echo
  34.        "<script type='text/javascript'>
  35.        alert('La imagen ha sido añadida, gracias¡¡¡');
  36.        window.location='index.php';
  37.        </script>";
  38.     }
  39.     else
  40.     {
  41.         echo "<span style='color:white'>la imagen no es válida</span><br /><input type='button' value='Volver' onclick='history.back()'>";
  42.     }

aqui la clase que saque de estos foros
clase image.php
Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Creación de thumbnails ( creación de imágenes en miniatura )
  4.  *
  5. */
  6. class Imagenes
  7. {
  8.     //Propiedades de la clase
  9.     private $_imagen;
  10.     private $_formato = 'jpg';
  11.     private $_nuevaImagen;
  12.     private $_compresion = 90;
  13.     private $_nombre;
  14.  
  15.     /**
  16.      * Verificar si la libreria GD esta instalada.
  17.      */
  18.     public function __construct()
  19.     {      
  20.         $gd=gd_info();
  21.  
  22.         foreach ($gd as $key => $valor)
  23.         {
  24.             if(!$valor) {
  25.                 return 'La libreria GD no esta disponible.';
  26.             }
  27.         }
  28.     }
  29.  
  30.     /**
  31.      * Indicar a la clase con que imagen vamos a trabajar, es decir, a que
  32.      * imagen le vamos a crear un thumbnails.
  33.      */
  34.     public function setImagen($urlImagen)
  35.     {
  36.         $this->_imagen = $urlImagen;
  37.     }
  38.  
  39.     /*
  40.      * Indicar el formato de que tiene la imagen. La indicada en el
  41.      * método "setImagen".
  42.      */
  43.     public function setFormato($ext)
  44.     {
  45.         switch($ext)
  46.         {              
  47.             case "jpeg":
  48.                 $this->_imagen = imagecreatefromjpeg($this->_imagen);
  49.                 $this->_formato = $ext;
  50.                 break;
  51.  
  52.             case "jpg":
  53.                 $this->_imagen = imagecreatefromjpeg($this->_imagen);
  54.                 $this->_formato = $ext;
  55.                 break;
  56.  
  57.             case "png":
  58.                 $this->_imagen = imagecreatefrompng($this->_imagen);
  59.                 $this->_formato = $ext;
  60.                 break;
  61.  
  62.             default : return "Formato de imagen NO soportado.[jpeg|jpg|png]";
  63.         }      
  64.     }  
  65.  
  66.     /**
  67.      * Obtener el ancho (width) de la imagen.
  68.      */
  69.     public function getImagenX()
  70.     {
  71.         return imagesx($this->_imagen);
  72.     }
  73.  
  74.     /**
  75.      * Obtener el alto (height) de la imagen.
  76.      */
  77.     public function getImagenY()
  78.     {
  79.         return imagesy($this->_imagen);
  80.     }
  81.  
  82.     /**
  83.      * Nivel de compresión de la nueva imagen.
  84.      * Máximo 100.
  85.      * Cuanto mayor sea este valor mejor sera la calidad,
  86.      * pero tambien aumentara el tamaño.
  87.      */
  88.     public function setCompresion($compresion)
  89.     {
  90.         $this->_compresion = $compresion;
  91.     }
  92.  
  93.     /**
  94.      * Idicar nombre y ruta para la nueva imagen.
  95.      */
  96.     public function setNombre($nombre)
  97.     {
  98.         $this->_nombre = $nombre;
  99.     }
  100.  
  101.     /**
  102.      * Redimensionar imagen.
  103.      * Este método recibe el ancho (x) y el alto (y) que tendra
  104.      * la nueva imagen.
  105.      * Si $y no se indica, este se añadira con un ancho proporcinal.
  106.      */
  107.     public function reducir($x, $y = 0)
  108.     {      
  109.         if($y == 0) {
  110.             //Obtener el alto proporcionalmente.
  111.             $y = imagesy($this->_imagen) * $x;
  112.             $y = $y / imagesx($this->_imagen);
  113.         }
  114.  
  115.         $this->_nuevaImagen = imagecreatetruecolor($x, $y);
  116.  
  117.         imagecopyresampled($this->_nuevaImagen,
  118.                    $this->_imagen,
  119.                    0,
  120.                    0,
  121.                    0,
  122.                        0,
  123.                    $x,
  124.                        $y,
  125.                    imagesx($this->_imagen),
  126.                    imagesy($this->_imagen));
  127.  
  128.         switch($this->_formato)
  129.         {              
  130.             case "jpeg": imagejpeg($this->_nuevaImagen,$this->_nombre,$this->_compresion);
  131.                 break;
  132.  
  133.             case "jpg": imagejpeg($this->_nuevaImagen,$this->_nombre,$this->_compresion);
  134.                 break;
  135.  
  136.             case "png": imagepng($this->_nuevaImagen,$this->_nombre,$this->_compresion);
  137.                 break;
  138.  
  139.             default : return "Formato de imagen NO soportado.[jpeg|jpg|png]";
  140.                 break;
  141.         }              
  142.     }
  143. }
  144. ?>

Etiquetas: imagenes, subir
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 01:04.