Files
juipphp/script/linedata/display.php

297 lines
8.2 KiB
PHP
Raw Normal View History

2020-11-06 16:51:37 +08:00
<?php
/*
2020-11-13 15:20:04 +08:00
* @Descripttion:
* @version:
2020-11-06 16:51:37 +08:00
* @Author: kangkang
* @Date: 2020-11-06 14:32:57
* @LastEditors: kangkang
2020-11-13 15:20:04 +08:00
* @LastEditTime: 2020-11-12 17:14:34
2020-11-06 16:51:37 +08:00
*/
2020-11-07 17:48:11 +08:00
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: *");
header('Access-Control-Allow-Headers:*');
header("Access-Control-Allow-Credentials: true");
2020-11-06 16:51:37 +08:00
$id = $_GET['product'];
2020-11-13 15:20:04 +08:00
switch ($id) {
2020-11-06 16:51:37 +08:00
case 0:
2020-11-13 15:20:04 +08:00
format_all_product(__DIR__ . '/data/all.csv');
break;
2020-11-06 16:51:37 +08:00
case 8:
2020-11-13 15:20:04 +08:00
format_xingxing(__DIR__ . '/data/xingxing.csv', __DIR__ . '/data/2288.csv', 'xxip.vip');
break;
2020-11-06 16:51:37 +08:00
case 6:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/xianfeng.csv', 'xfip.vip');
break;
2020-11-06 16:51:37 +08:00
case 13:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/jike.csv', 'jkip.com');
break;
2020-11-06 16:51:37 +08:00
case 1:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/qiangzi.csv', 'qzip.vip');
break;
2020-11-06 16:51:37 +08:00
case 2:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/xunlian.csv', 'xlip.vip');
break;
2020-11-06 16:51:37 +08:00
case 14:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/tiantian.csv', 'ttip.cn');
break;
2020-11-06 16:51:37 +08:00
case 5:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/laoying.csv', 'lyip.vip');
break;
2020-11-06 16:51:37 +08:00
case 4:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/jinrui.csv', 'jrip.vip');
break;
2020-11-06 16:51:37 +08:00
case 10:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/wuxian.csv', 'wxip.net');
break;
2020-11-06 16:51:37 +08:00
case 16:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/shihui.csv', 'shihui');
break;
2020-11-06 16:51:37 +08:00
case 15:
2020-11-13 15:20:04 +08:00
format_product(__DIR__ . '/data/gongxiang.csv', 'shihui');
break;
2020-11-06 16:51:37 +08:00
}
2020-11-13 15:20:04 +08:00
function format_all_product($file_path)
{
2020-11-06 16:51:37 +08:00
$list = [];
2020-11-07 17:48:11 +08:00
$dns = '';
2020-11-09 11:01:45 +08:00
$record = [];
2020-11-13 15:20:04 +08:00
$citys = [];
2020-11-12 14:25:48 +08:00
$user_count = 0;
$count = 0;
2020-11-13 15:20:04 +08:00
$file = fopen($file_path, 'r');
$file1 = fopen(__DIR__ . '/data/download/all.csv', 'w');
while ($info = fgetcsv($file)) {
2020-11-07 17:48:11 +08:00
$data['name'] = $info[0];
2020-11-13 15:20:04 +08:00
switch ($data['name']) {
2020-11-07 17:48:11 +08:00
case '星星':
$dns = 'xxip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '先锋':
$dns = 'xfip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '极客':
$dns = 'jkip.com';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '强子':
$dns = 'qzip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '讯连':
$dns = 'xlip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '天天':
$dns = 'ttip.cn';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '老鹰':
$dns = 'lyip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '金瑞':
$dns = 'jrip.vip';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '无限':
$dns = 'wxip.net';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '实惠':
$dns = 'shihui';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
case '共享':
2020-11-09 11:01:45 +08:00
$dns = 'shihui';
2020-11-13 15:20:04 +08:00
break;
2020-11-07 17:48:11 +08:00
}
2020-11-13 15:20:04 +08:00
$city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
2020-11-07 17:48:11 +08:00
$data['supply'] = $info[2];
$data['ip'] = $info[3];
$data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6];
$data['online'] = $info[7];
2020-11-13 15:20:04 +08:00
if (!empty($info[9])) {
$user_count += $data['online'] == '正常' ? 1 : 0;
2020-11-12 14:25:48 +08:00
$count++;
}
2020-11-07 17:48:11 +08:00
$data['status'] = $info[8];
2020-11-13 15:20:04 +08:00
if ($dns != 'shihui') {
$ip = explode('.', $info[9]);
$data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
2020-11-07 17:48:11 +08:00
} else {
$data['nasname'] = $info[9];
}
2020-11-13 15:20:04 +08:00
fputcsv($file1, $data);
2020-11-06 16:51:37 +08:00
$list[] = $data;
}
2020-11-13 15:20:04 +08:00
fclose($file);
fclose($file1);
echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
2020-11-06 16:51:37 +08:00
}
2020-11-13 15:20:04 +08:00
function format_product($file_path, $dns = '')
{
2020-11-12 14:25:48 +08:00
$list1 = [];
2020-11-07 17:48:11 +08:00
$list = [];
2020-11-12 14:25:48 +08:00
$user_count = 0;
$count = 0;
$key = '';
2020-11-13 15:20:04 +08:00
$citys = [];
$file = fopen($file_path, 'r');
$file_path1 = explode('/', $file_path);
$file1 = fopen(__DIR__ . '/data/download/' . $file_path1[8], 'w');
2020-11-09 11:01:45 +08:00
$record = [];
2020-11-13 15:20:04 +08:00
while ($info = fgetcsv($file)) {
if (in_array($info['1'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
2020-11-13 15:20:04 +08:00
if (empty($info[9])) {
2020-11-12 14:25:48 +08:00
$key = $info[1];
}
2020-11-07 17:48:11 +08:00
$data['name'] = $info[0];
2020-11-13 15:20:04 +08:00
$city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
2020-11-07 17:48:11 +08:00
$data['supply'] = $info[2];
$data['ip'] = $info[3];
$data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6];
$data['online'] = $info[7];
2020-11-13 15:20:04 +08:00
if (!empty($info[9])) {
$user_count += $data['online'] == '正常' ? 1 : 0;
2020-11-12 14:25:48 +08:00
$count++;
}
2020-11-07 17:48:11 +08:00
$data['status'] = $info[8];
2020-11-13 15:20:04 +08:00
if ($dns != 'shihui') {
$ip = explode('.', $info[9]);
$data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
2020-11-07 17:48:11 +08:00
} else {
$data['nasname'] = $info[9];
}
2020-11-13 15:20:04 +08:00
fputcsv($file1, $data);
2020-11-12 14:25:48 +08:00
$list1[$key][] = $data;
2020-11-07 17:48:11 +08:00
}
2020-11-09 11:01:45 +08:00
2020-11-13 15:20:04 +08:00
fclose($file1);
fclose($file);
foreach ($list1 as $k => $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file3, $net_data);
2020-11-12 14:25:48 +08:00
$list[] = $net_data;
}
}
2020-11-13 15:20:04 +08:00
echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
2020-11-07 17:48:11 +08:00
}
2020-11-13 15:20:04 +08:00
function format_xingxing($file_path1, $file_path2, $dns)
{
2020-11-06 16:51:37 +08:00
$list1 = [];
2020-11-12 14:25:48 +08:00
$list = [];
$user_count = 0;
$count = 0;
$key = '';
2020-11-13 15:20:04 +08:00
$citys = [];
$file1 = fopen($file_path1, 'r');
$file2 = fopen($file_path2, 'r');
2020-11-09 11:01:45 +08:00
$record = [];
2020-11-12 14:25:48 +08:00
$keys = [];
2020-11-13 15:20:04 +08:00
$file_path = explode('/', $file_path1);
$file3 = fopen(__DIR__ . '/data/download/' . $file_path[8], 'w');
while ($info = fgetcsv($file1)) {
if (empty($info[9])) {
2020-11-12 14:25:48 +08:00
$key = $info[1];
$keys[] = $key;
}
2020-11-07 17:48:11 +08:00
$data['name'] = $info[0];
2020-11-13 15:20:04 +08:00
$city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
2020-11-07 17:48:11 +08:00
$data['supply'] = $info[2];
$data['ip'] = $info[3];
$data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6];
$data['online'] = $info[7];
2020-11-13 15:20:04 +08:00
if (!empty($info[9])) {
$user_count += $data['online'] == '正常' ? 1 : 0;
2020-11-12 14:25:48 +08:00
$count++;
}
2020-11-07 17:48:11 +08:00
$data['status'] = $info[8];
2020-11-13 15:20:04 +08:00
$ip = explode('.', $info[9]);
$data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
2020-11-12 14:25:48 +08:00
$list1[$key][] = $data;
2020-11-06 16:51:37 +08:00
}
2020-11-13 15:20:04 +08:00
while ($info = fgetcsv($file2)) {
if (empty($info[9])) {
2020-11-12 14:25:48 +08:00
$key = $info[1];
2020-11-13 15:20:04 +08:00
if (in_array($key, $keys)) {
2020-11-12 14:25:48 +08:00
continue;
}
}
2020-11-07 17:48:11 +08:00
$data['name'] = $info[0];
2020-11-13 15:20:04 +08:00
$city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
2020-11-07 17:48:11 +08:00
$data['supply'] = $info[2];
$data['ip'] = $info[3];
$data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6];
$data['online'] = $info[7];
2020-11-13 15:20:04 +08:00
if (!empty($info[9])) {
$user_count += $data['online'] == '正常' ? 1 : 0;
2020-11-12 14:25:48 +08:00
$count++;
}
2020-11-07 17:48:11 +08:00
$data['status'] = $info[8];
2020-11-13 15:20:04 +08:00
$ip = explode('.', $info[9]);
$data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
2020-11-12 14:25:48 +08:00
$list1[$key][] = $data;
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $k => $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file3, $net_data);
2020-11-12 14:25:48 +08:00
$list[] = $net_data;
}
2020-11-06 16:51:37 +08:00
}
2020-11-07 17:48:11 +08:00
2020-11-13 15:20:04 +08:00
fclose($file1);
fclose($file2);
fclose($file3);
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
2020-11-09 11:01:45 +08:00
}
2020-11-13 15:20:04 +08:00
function ip_repeat(&$record, $ip)
{
for ($i = 2; $i < 100; $i++) {
if (in_array($ip, $record)) {
if (in_array($ip . 'v' . $i, $record)) {
2020-11-09 11:01:45 +08:00
continue;
} else {
2020-11-13 15:20:04 +08:00
$record[] = $ip . 'v' . $i;
return $ip . 'v' . $i;
2020-11-09 11:01:45 +08:00
}
} else {
$record[] = $ip;
return $ip;
}
}
2020-11-13 15:20:04 +08:00
}
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;
}
}
}