Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/01/2010, 15:03
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: subir imagen con formulario

hay varias maneras y soluciones para subir un archivo o una imagen.

el codigo que ha colocado aitormartin es factible, pero solo copiando y pegando no aprenderas bien cual es su funcionalidad. de que sirve que alguien te da un codigo desarrollado con clases y al final no logras entender la logica y su funcionamiento.

como dijo antes Carxl.

No, no puedes, puesto que el método GET tiene un máximo de envio de bytes, por lo que no subirá cualquier archivo, mientras que POST trabaja de otra manera.

eso es cierto. si tu vas a subir o ingresar datos de mayor longitud, en este caso debes utlizar en tu formulario el metodo POST. ya que el metodo GET solo se encarga de enviar las variables a una url.

aqui te dejo una solucion simple y mas adelante tu la implementaras y le añadiras mejoras.

Código PHP:
Ver original
  1. //preguntamos si el archivo imagen esta vacio
  2.         if(is_uploaded_file($_FILES['imagen']['tmp_name'])) {  
  3.             /*prefijo de cadena*/
  4.             $str = "abcdefghijklmnopqrstuvwxyz1234567890";
  5.             $cad = "";
  6.             for($i=0;$i<12;$i++) {
  7.                 $cad .= substr($str,rand(0,36),1);
  8.             }      
  9.             #subiendo archivos al servidor
  10.             $filetype = $_FILES['imagen']['type'];
  11.             $imagen   = $_FILES['imagen']['name'];
  12.             $test     = explode(".",$imagen);
  13.        
  14.             //ruta para subir las imagenes.
  15.             $path  = "imagenes/";
  16.            
  17.                 if(strtoupper($test[1])=="JPG" || strtoupper($test[1])=="JPEG")
  18.                 {
  19.                     $tamano = $_FILES['imagen']['size']; // Leemos el tamaño del fichero
  20.                     $tamano_max="1048576"; // Tamaño maximo permitido (si lo deseas puedes modificar su valor).
  21.                     if($tamano <= $tamano_max){ // Comprovamos el tamaño                      
  22.                         $newfilename = $cad.'.'.$test[1];
  23.                         move_uploaded_file($_FILES['imagen']['tmp_name'],$path.$newfilename);
  24.                         //si estas trabajando con bd, colocas tu sql de insertar.
  25.                     }else{
  26.                         echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
  27.                         echo "<br /><br /><br />";
  28.                         echo "<a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar </a>";
  29.                     }                      
  30.                
  31.                 }else{
  32.                     echo "<div align = 'center'>La imagen que intenta grabar, debe ser de formato jpg.</div>";
  33.                     echo "<br />";
  34.                     echo "<a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar </a>";
  35.                 }
  36.                
  37.         //Si no hay imagenes para agregar, procederemos a agregar los datos sin imagen.
  38.         }else{
  39.             //si estas trabajando con bd, colocas tu sql de insertar.
  40.         }              
  41.            
  42.     }

como te dije antes, hay varias maneras de como subir imagenes. ahi te dejo una solucion simple.

saludos.

Última edición por esaenz22; 15/01/2010 a las 15:05 Razón: correccion.