Ejemplo n.º 1
0
 public static function agregar($info)
 {
     $respuesta = array();
     $rules = array('archivo' => array('mimes:pdf'));
     $validator = Validator::make($info, $rules);
     if ($validator->fails()) {
         //return Response::make($validator->errors->first(), 400);
         //Si está todo mal, carga lo que corresponde en el mensaje.
         $respuesta['mensaje'] = $validator;
         $respuesta['error'] = 'no pasa';
     } else {
         $file = $info['archivo'];
         $count = count($file->getClientOriginalName()) - 4;
         $nombreArchivo = Str::limit(Str::slug($file->getClientOriginalName()), $count, "");
         $extension = $file->getClientOriginalExtension();
         //if you need extension of the file
         //$extension = File::extension($file['name']);
         $carpeta = '/uploads/archivos/';
         $directory = public_path() . $carpeta;
         //$filename = sha1(time() . Hash::make($filename) . time()) . ".{$extension}";
         //Pregunto para que no se repita el nombre de la imagen
         if (!is_null(Archivo::archivoPorNombre($nombreArchivo . ".{$extension}"))) {
             $filename = $nombreArchivo . "(" . Str::limit(sha1(time()), 3, "") . ")" . ".{$extension}";
         } else {
             $filename = $nombreArchivo . ".{$extension}";
         }
         //$upload_success = $file->move($directory, $filename);
         if ($file->move($directory, $filename)) {
             $datos = array('nombre' => $filename, 'titulo' => $nombreArchivo . ".{$extension}", 'carpeta' => $carpeta, 'tipo' => "{$extension}", 'estado' => 'A', 'fecha_carga' => date("Y-m-d H:i:s"), 'usuario_id_carga' => Auth::user()->id);
             $archivo = static::create($datos);
             //Mensaje correspondiente a la agregacion exitosa
             $respuesta['mensaje'] = 'Archivo creado.';
             $respuesta['error'] = false;
             $respuesta['data'] = $archivo;
             //return Response::json('success', 200);
         } else {
             //Mensaje correspondiente a la agregacion exitosa
             $respuesta['mensaje'] = 'Archivo erróneo.';
             $respuesta['error'] = true;
             $respuesta['data'] = null;
             //return Response::json('error', 400);
         }
     }
     return $respuesta;
 }