$val) { foreach ($val as $net_data) { fputcsv($file1, $net_data); } } fclose($file1); fclose($file); } function format_xingxing($file_path1, $file_path2, $dns) { $list1 = []; $list = []; $user_count = 0; $count = 0; $key = ''; $citys = []; $file1 = fopen($file_path1, 'r'); $file2 = fopen($file_path2, 'r'); $record = []; $keys = []; $file_path = explode('/', $file_path1); $file3 = fopen(__DIR__ . '/data/download/' . $file_path[8], 'w'); while ($info = fgetcsv($file1)) { if (empty($info[9])) { $key = $info[1]; $keys[] = $key; } $data['name'] = $info[0]; $city = city_exist($citys, $info[1]); $citys[] = $city; $data['city'] = $city; $data['supply'] = $info[2] ?? ''; $data['ip'] = $info[3] ?? ''; $data['daikuan'] = $info[4] ?? ''; $data['onlineuser'] = $info[5] ?? ''; $data['maxuser'] = $info[6] ?? ''; $data['online'] = $info[7] ?? ''; if (!empty($info[9])) { $user_count += $data['online'] == '正常' ? 1 : 0; $count++; } $data['status'] = $info[8] ?? ''; $ip = explode('.', ($info[9] ?? '')); $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : ''; $list1[$key][] = $data; } while ($info = fgetcsv($file2)) { if (empty($info[9])) { $key = $info[1]; if (in_array($key, $keys)) { continue; } } $data['name'] = $info[0]; $city = city_exist($citys, $info[1]); $citys[] = $city; $data['city'] = $city; $data['supply'] = $info[2] ?? ''; $data['ip'] = $info[3] ?? ''; $data['daikuan'] = $info[4] ?? ''; $data['onlineuser'] = $info[5] ?? ''; $data['maxuser'] = $info[6] ?? ''; $data['online'] = $info[7] ?? ''; $data['status'] = $info[8] ?? ''; $ip = explode('.', ($info[9] ?? '')); $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : ''; $list1[$key][] = $data; } foreach ($list1 as $k => $val) { foreach ($val as $net_data) { fputcsv($file3, $net_data); } } fclose($file1); fclose($file2); fclose($file3); } function ip_repeat(&$record, $ip, $dns = '') { for ($i = 2; $i < 100; $i++) { if (in_array($ip . $dns, $record)) { if (in_array($ip . $dns . 'v' . $i, $record)) { continue; } else { $record[] = $ip . $dns . 'v' . $i; return $ip . 'v' . $i; } } else { $record[] = $ip . $dns; return $ip; } } } function city_exist($citys, $city) { for ($i = 2; $i < 100; $i++) { if (in_array($city, $citys)) { if (in_array($city . $i, $citys)) { continue; } else { return $city . $i; } } else { return $city; } } }