public function store_card(Request $request) { $valid = Validator::make($request->all(), ['file' => 'required|mimes:csv,txt']); if ($valid->fails()) { $error = $valid->errors()->all(); return $error; } if ($request->hasFile('file')) { $files = $request->file('file'); $mime = $files->getClientMimeType(); $path = $files->getRealPath(); $room = $request->input('room'); if ($room == 1) { if ($mime == "text/plain") { $contents = file($files->getRealPath()); for ($i = 1; $i < count($contents); $i++) { $tmp = preg_split("/\\s+/", $contents[$i]); $query = Cards::where('room_id', '=', $room)->where('card_id', '=', $tmp[2])->where('name', '=', $tmp[1])->get(); if ($query->isEmpty()) { $card = new Cards(); $card->card_id = (int) $tmp[2]; $card->name = $tmp[1]; $card->room_id = $room; $card->save(); } } return "true"; } else { if ($mime == "text/csv") { $open = fopen($path, "r"); $tmp = 0; while (!empty($data = fgetcsv($open))) { if ($tmp != 0) { $card = Cards::where('room_id', '=', $room)->where('card_id', '=', $data[2])->where('name', '=', $data[1])->get(); if ($card->isEmpty()) { $card = new Cards(); $card->card_id = (int) $data[2]; $card->name = $data[1]; $card->room_id = $room; $card->save(); } } $tmp = 1; } fclose($open); return "true"; } } } else { if ($room == 2) { $open = fopen($path, "r"); $tmp = 0; while (!empty($data = fgetcsv($open))) { if ($tmp != 0) { $card = Cards::where('room_id', '=', $room)->where('card_id', '=', $data[0])->where('name', '=', $data[1])->get(); if ($card->isEmpty()) { $card = new Cards(); $card->card_id = (int) $data[0]; $card->name = $data[1]; $card->room_id = $room; $card->save(); } } $tmp = 1; } fclose($open); return "true"; } } } return "Error"; }