コード例 #1
0
 public function downloadStore($id)
 {
     $file = Input::file('file_url');
     $data = Input::only(['file_type', 'description', 'file_url']);
     $rules = ['file_type' => 'required', 'description' => 'required', 'file_url' => 'required'];
     $validation = Validator::make($data, $rules);
     if ($validation->fails()) {
         return Redirect::back()->withInput()->withErrors($validation->messages());
     } else {
         $getRealPath = 'data/courses/';
         $download = new Download($data);
         $download->course_id = $id;
         $download->file_url = $getRealPath . $data['file_url']->getClientOriginalName();
         $download->save();
         if ($download->save()) {
             $i = 0;
             //separamos el nombre de la img y la extensión
             $info = explode(".", $file->getClientOriginalName());
             //asignamos de nuevo el nombre de la imagen completo
             $newFile = $file->getClientOriginalName();
             //mientras el archivo exista iteramos y aumentamos i
             while (file_exists($getRealPath . $newFile)) {
                 $i++;
                 $newFile = $info[0] . "(" . $i . ")" . "." . $info[1];
             }
             //guardamos la imagen con otro nombre ej foto(1).jpg || foto(2).jpg etc
             $file->move($getRealPath, $newFile);
             //si ha cambiado el nombre de la foto por el original actualizamos el campo foto de la bd
             if ($newFile != $download->file_url) {
                 $download->file_url = $getRealPath . $newFile;
                 $download->save();
             }
         }
     }
     return Redirect::back()->with(['confirm' => 'Se inserto el registro correctamente.']);
 }