Como hacer un upload de imagen , y guardar la ruta enla base de datos

edited septiembre 2013 in Beta2
Si me prodrian ayudar , Desde ya muchas gracias 

Comentarios

  • Estimado! aquí hay un tutorial para hacer upload de imagenes y archivos: http://wiki.kumbiaphp.com/Subida_de_Archivos_e_Imagenes. En primer lugar hecha un vistazo a ese link.

    Ahora, asumiendo que tienes una tabla en tu base de datos llamada "upload" y con un campo llamado "path", hacemos lo siguiente:

    Para guardar la ruta en la base de datos, deberías hacer unas pequeñas modificaciones:
    1) Nos paramos en "archivos_controller.php" y reemplazamos las líneas "if ($archivo->save()) {" por "if ($name = $archivo->save()) {". Esto es porque el método "save" retorna el nombre del archivo subido.

    2) Debajo de las líneas anteriores (dentro de la sentencia IF) colocamos:
    $path = PUBLIC_PATH.'img/upload/'.$name;

    // guardo la ruta en la db
    $upload = Load::model('upload');
    $upload->path = $path;
    $upload->save();

    Flash::valid('Archivo subido correctamente...!!!');

    //fin

    En el ítem 2, cuando se está creando la ruta del archivo, recuerda modificar "img" por "files" dependiendo si estás subiendo imágenes o archivos.

    Espero que te haya podido ayudar.
    Saludos.
  • edited marzo 2014
    matiasrosario

    ! gracias por tu info. pero me regresa esto;



    Fatal error: Cannot instantiate abstract class Upload in /Users/me/Web/app/core/kumbia/load.php on line 82

    Que hace referencia a:

        public function __construct($name)
        {
            $this->_name = $name;
        }


    Mi codigo es este:

    public function imagen() {
               View::select('index'); 
               if (Input::hasPost('oculto')) { 
       
                   $archivo = Upload::factory('archivo', 'image');
                   $archivo->setExtensions(array('jpg', 'png', 'gif'));
                                 
                   if ($archivo->isUploaded()) {
                  
                       if ($name = $archivo->saveRandom()) {
                               $path = PUBLIC_PATH.'img/upload/'.$name;
                              
                               $upload = Load::model('upload');
                               $upload->path = $path;
                               $upload->save();
                              
                               Flash::valid('Archivo subido correctamente.');
                         
                       }
                   }else{
                  
                           Flash::warning('No se ha Podido Subir la imagen.');
                  
                   }
               }
           }

  • Ya existe una clase Upload entre las libs del FW: Upload::factory. Por lo que no puedes tener un modelo con el mismo nombre de clase, en tu caso: Load::model('upload').

    Debes cambiarle el nombre al modelo.

    Saludos!!!
  • Oh! Gracias Manuel, intento y comento mi result.

    Gracias/Saludos.
Sign In or Register to comment.