Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/12/2010, 23:15
Avatar de memoadian
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. ?>