/** * Bootstrap the application services. * * @return void */ public function boot(Guard $auth, Request $request) { // view()->composer('*', function ($view) use($auth, $request) { $uri = $request->path(); $uri = explode("/", $uri); $breadcrumb = "<li>Home</li>"; $stopped = false; $menuPath = ""; foreach ($uri as $segment) { if (is_numeric($segment)) { $stopped = true; } else { $breadcrumb .= "<li>" . ucfirst($segment) . "</li>"; if (!$stopped) { $menuPath = $menuPath . "/" . $segment; } } } $allSites = array(); foreach (Site::orderBy('name', 'ASC')->get() as $site) { $allSites[$site->id] = $site->name; } $view->with('user', $auth->user())->with('breadcrumb', $breadcrumb)->with('menupath', $menuPath)->with('siteList', $allSites); }); view()->composer('modals.pressJob', function ($view) use($auth, $request) { $presses = \App\Press::where('site_id', session('site'))->get(); $view->with('presses', $presses); }); }
protected function music_import_csv(Request $request) { $path = $request->path; $filename = $request->filename; $file = $path . '/' . $filename; $fp = fopen($file, 'r'); $i = 0; // 定义空数组,方便下面使用 $isUsed_arr = []; // 判断文件名是否有重复 while ($arr = fgetcsv($fp)) { $isFree = self::isNoUsedFileName(mb_convert_encoding($arr[7], 'UTF-8', 'GB2312')); // 将重复的文件名放入一个数组中 if (!$isFree) { $isUsed_arr[] = mb_convert_encoding($arr[7], 'UTF-8', 'GB2312'); } } // 如果存在重复的文件名,则返回 if (count($isUsed_arr) > 0) { $data['status'] = false; $data['errMsg'] = $isUsed_arr; return $data; } // 重置文件指针 rewind($fp); while ($arr = fgetcsv($fp)) { $i++; if ($i == 1) { continue; } // 方便后面判断读取了几行 $music = new Music(); $music->name = mb_convert_encoding($arr[0], 'UTF-8', 'GB2312'); // 查询乐曲id $instrument = mb_convert_encoding($arr[1], 'UTF-8', 'GB2312'); $instrument_in_db = Instrument::where('name', '=', $instrument)->first(); // 如果这个乐器不存在,则先创建 if (empty($instrument_in_db)) { $new_instrument = new Instrument(); $new_instrument->name = $instrument; $new_instrument->save(); $music->instrument_id = $new_instrument->id; } else { $music->instrument_id = $instrument_in_db->id; } // 作曲人 $music->composer = mb_convert_encoding($arr[2], 'UTF-8', 'GB2312'); // 版本 $music->version = mb_convert_encoding($arr[3], 'UTF-8', 'GB2312'); // 出版社 $press = mb_convert_encoding($arr[4], 'UTF-8', 'GB2312'); $press_in_db = Press::where('name', $press)->first(); // 如果这个出版社不存在,则先创建 if (empty($press_in_db)) { $new_press = new Press(); $new_press->name = $press; $new_press->save(); $music->press_id = $new_press->id; } else { $music->press_id = $press_in_db->id; } // 主办单位 $organizer = mb_convert_encoding($arr[5], 'UTF-8', 'GB2312'); $organizer_in_db = Organizer::where('name', $organizer)->first(); // 如果这个主办机构不存在,则先创建 if (empty($organizer_in_db)) { $new_organizer = new Organizer(); $new_organizer->name = $organizer; $new_organizer->save(); $music->organizer_id = $new_organizer->id; } else { $music->organizer_id = $organizer_in_db->id; } // 操作人 $music->operator = $request->user()->id; // 评论内容 $note_content = mb_convert_encoding($arr[6], 'UTF-8', 'GB2312'); if (!empty($note_content)) { $music->note_content = $note_content; $music->note_operator = $request->user()->id; } $music->filename = mb_convert_encoding($arr[7], 'UTF-8', 'GB2312'); $result[] = $music->save(); } if ($i == 0 || $i == 1 || in_array(false, $result)) { $data['status'] = false; $data['errMsg'] = '表格中没有有效数据'; } else { $data['status'] = true; } return $data; }