@@ -79,10 +79,10 @@ discard block |
||
79 | 79 | throw new DtaException('请检查配置文件是否配置了IP数据库文件存放位置'); |
80 | 80 | } |
81 | 81 | $this->fp = 0; |
82 | - if (($this->fp = fopen($this->ipPath . 'qqwry.dat', 'rb')) !== false) { |
|
82 | + if (($this->fp = fopen($this->ipPath.'qqwry.dat', 'rb')) !== false) { |
|
83 | 83 | $this->firstIp = $this->getLong(); |
84 | 84 | $this->lastIp = $this->getLong(); |
85 | - $this->totalIp = ($this->lastIp - $this->firstIp) / 7; |
|
85 | + $this->totalIp = ($this->lastIp-$this->firstIp)/7; |
|
86 | 86 | } |
87 | 87 | parent::__construct($app); |
88 | 88 | } |
@@ -163,49 +163,49 @@ discard block |
||
163 | 163 | // 如果数据文件没有被正确打开,则直接返回错误 |
164 | 164 | throw new DtaException('数据库文件不存在!'); |
165 | 165 | } |
166 | - $location['ip'] = $ip; // 将输入的域名转化为IP地址 |
|
167 | - $ip = $this->packIp($location['ip']); // 将输入的IP地址转化为可比较的IP地址 |
|
166 | + $location['ip'] = $ip; // 将输入的域名转化为IP地址 |
|
167 | + $ip = $this->packIp($location['ip']); // 将输入的IP地址转化为可比较的IP地址 |
|
168 | 168 | // 不合法的IP地址会被转化为255.255.255.255 |
169 | 169 | // 对分搜索 |
170 | - $l = 0; // 搜索的下边界 |
|
171 | - $u = $this->totalIp; // 搜索的上边界 |
|
172 | - $findip = $this->lastIp; // 如果没有找到就返回最后一条IP记录(QQWry.Dat的版本信息) |
|
170 | + $l = 0; // 搜索的下边界 |
|
171 | + $u = $this->totalIp; // 搜索的上边界 |
|
172 | + $findip = $this->lastIp; // 如果没有找到就返回最后一条IP记录(QQWry.Dat的版本信息) |
|
173 | 173 | while ($l <= $u) { // 当上边界小于下边界时,查找失败 |
174 | - $i = floor(($l + $u) / 2); // 计算近似中间记录 |
|
175 | - fseek($this->fp, $this->firstIp + $i * 7); |
|
176 | - $beginip = strrev(fread($this->fp, 4)); // 获取中间记录的开始IP地址 |
|
174 | + $i = floor(($l+$u)/2); // 计算近似中间记录 |
|
175 | + fseek($this->fp, $this->firstIp+$i*7); |
|
176 | + $beginip = strrev(fread($this->fp, 4)); // 获取中间记录的开始IP地址 |
|
177 | 177 | // strrev函数在这里的作用是将little-endian的压缩IP地址转化为big-endian的格式 |
178 | 178 | // 以便用于比较,后面相同。 |
179 | 179 | if ($ip < $beginip) { // 用户的IP小于中间记录的开始IP地址时 |
180 | - $u = $i - 1; // 将搜索的上边界修改为中间记录减一 |
|
181 | - } else { |
|
180 | + $u = $i-1; // 将搜索的上边界修改为中间记录减一 |
|
181 | + }else { |
|
182 | 182 | fseek($this->fp, $this->getLong3()); |
183 | - $endip = strrev(fread($this->fp, 4)); // 获取中间记录的结束IP地址 |
|
183 | + $endip = strrev(fread($this->fp, 4)); // 获取中间记录的结束IP地址 |
|
184 | 184 | if ($ip > $endip) { // 用户的IP大于中间记录的结束IP地址时 |
185 | - $l = $i + 1; // 将搜索的下边界修改为中间记录加一 |
|
186 | - } else { // 用户的IP在中间记录的IP范围内时 |
|
187 | - $findip = $this->firstIp + $i * 7; |
|
188 | - break; // 则表示找到结果,退出循环 |
|
185 | + $l = $i+1; // 将搜索的下边界修改为中间记录加一 |
|
186 | + }else { // 用户的IP在中间记录的IP范围内时 |
|
187 | + $findip = $this->firstIp+$i*7; |
|
188 | + break; // 则表示找到结果,退出循环 |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | } |
192 | 192 | //获取查找到的IP地理位置信息 |
193 | 193 | fseek($this->fp, $findip); |
194 | - $location['beginip'] = long2ip($this->getLong()); // 用户IP所在范围的开始地址 |
|
194 | + $location['beginip'] = long2ip($this->getLong()); // 用户IP所在范围的开始地址 |
|
195 | 195 | $offset = $this->getLong3(); |
196 | 196 | fseek($this->fp, $offset); |
197 | - $location['endip'] = long2ip($this->getLong()); // 用户IP所在范围的结束地址 |
|
198 | - $byte = fread($this->fp, 1); // 标志字节 |
|
197 | + $location['endip'] = long2ip($this->getLong()); // 用户IP所在范围的结束地址 |
|
198 | + $byte = fread($this->fp, 1); // 标志字节 |
|
199 | 199 | switch (ord($byte)) { |
200 | 200 | case 1: // 标志字节为1,表示国家和区域信息都被同时重定向 |
201 | - $countryOffset = $this->getLong3(); // 重定向地址 |
|
201 | + $countryOffset = $this->getLong3(); // 重定向地址 |
|
202 | 202 | fseek($this->fp, $countryOffset); |
203 | - $byte = fread($this->fp, 1); // 标志字节 |
|
203 | + $byte = fread($this->fp, 1); // 标志字节 |
|
204 | 204 | switch (ord($byte)) { |
205 | 205 | case 2: // 标志字节为2,表示国家信息又被重定向 |
206 | 206 | fseek($this->fp, $this->getLong3()); |
207 | 207 | $location['all'] = $this->getString(); |
208 | - fseek($this->fp, $countryOffset + 4); |
|
208 | + fseek($this->fp, $countryOffset+4); |
|
209 | 209 | $location['extend'] = $this->getExtendString(); |
210 | 210 | break; |
211 | 211 | default: // 否则,表示国家信息没有被重定向 |
@@ -217,7 +217,7 @@ discard block |
||
217 | 217 | case 2: // 标志字节为2,表示国家信息被重定向 |
218 | 218 | fseek($this->fp, $this->getLong3()); |
219 | 219 | $location['all'] = $this->getString(); |
220 | - fseek($this->fp, $offset + 8); |
|
220 | + fseek($this->fp, $offset+8); |
|
221 | 221 | $location['extend'] = $this->getExtendString(); |
222 | 222 | break; |
223 | 223 | default: // 否则,表示国家信息没有被重定向 |
@@ -275,14 +275,14 @@ discard block |
||
275 | 275 | if (count($preg) == 4) { //匹配 "浙江省杭州市" |
276 | 276 | $state = $preg[1] ? $preg[1] : ($preg[2] ? $preg[2] : $preg[3]); |
277 | 277 | $city = $preg[3]; |
278 | - } else if (count($preg) == 7) { //匹配 "浙江省杭州市江干区" |
|
278 | + }else if (count($preg) == 7) { //匹配 "浙江省杭州市江干区" |
|
279 | 279 | $state = $preg[1] ? $preg[1] : ($preg[2] ? $preg[2] : $preg[3]); |
280 | 280 | $city = $preg[3]; |
281 | 281 | $area = $preg[5]; |
282 | - } else if (count($preg) == 3) { //匹配 "香港" |
|
282 | + }else if (count($preg) == 3) { //匹配 "香港" |
|
283 | 283 | $state = $preg[1] ? $preg[1] : $preg[2]; |
284 | 284 | $city = $state; |
285 | - } else if (count($preg) == 2) { //匹配 "浙江省" |
|
285 | + }else if (count($preg) == 2) { //匹配 "浙江省" |
|
286 | 286 | $state = $preg[1] ? $preg[1] : $this->unknown; |
287 | 287 | } |
288 | 288 | } |
@@ -307,7 +307,7 @@ discard block |
||
307 | 307 | private function getLong3() |
308 | 308 | { |
309 | 309 | //将读取的little-endian编码的3个字节转化为长整型数 |
310 | - $result = unpack('Vlong', fread($this->fp, 3) . chr(0)); |
|
310 | + $result = unpack('Vlong', fread($this->fp, 3).chr(0)); |
|
311 | 311 | return $result['long']; |
312 | 312 | } |
313 | 313 | |
@@ -334,7 +334,7 @@ discard block |
||
334 | 334 | { |
335 | 335 | $char = fread($this->fp, 1); |
336 | 336 | while (ord($char) > 0) { // 字符串按照C格式保存,以\0结束 |
337 | - $data .= $char; // 将读取的字符连接到给定字符串之后 |
|
337 | + $data .= $char; // 将读取的字符连接到给定字符串之后 |
|
338 | 338 | $char = fread($this->fp, 1); |
339 | 339 | } |
340 | 340 | return $data; |
@@ -346,7 +346,7 @@ discard block |
||
346 | 346 | */ |
347 | 347 | private function getExtendString() |
348 | 348 | { |
349 | - $byte = fread($this->fp, 1); // 标志字节 |
|
349 | + $byte = fread($this->fp, 1); // 标志字节 |
|
350 | 350 | switch (ord($byte)) { |
351 | 351 | case 0: // 没有区域信息 |
352 | 352 | $area = ""; |
@@ -393,7 +393,7 @@ discard block |
||
393 | 393 | } |
394 | 394 | $IPParts[$i] = str_pad(decHex($IPPart), 2, '0', STR_PAD_LEFT); |
395 | 395 | } |
396 | - return '0000:0000:0000:0000:0000:ffff:' . $IPParts[1] . $IPParts[2] . ':' . $IPParts[3] . $IPParts[4]; |
|
396 | + return '0000:0000:0000:0000:0000:ffff:'.$IPParts[1].$IPParts[2].':'.$IPParts[3].$IPParts[4]; |
|
397 | 397 | } |
398 | 398 | return ''; |
399 | 399 | } |
@@ -425,7 +425,7 @@ discard block |
||
425 | 425 | $district['lng'] = ''; |
426 | 426 | |
427 | 427 | if (!empty($province_name)) { |
428 | - $json_province = json_decode(file_get_contents($this->ipPath . 'province.json'), true); |
|
428 | + $json_province = json_decode(file_get_contents($this->ipPath.'province.json'), true); |
|
429 | 429 | foreach ($json_province['rows'] as $key => $value) { |
430 | 430 | if ($value['name'] == $province_name) { |
431 | 431 | $province['name'] = $value['name']; |
@@ -436,7 +436,7 @@ discard block |
||
436 | 436 | } |
437 | 437 | } |
438 | 438 | if (!empty($city_name)) { |
439 | - $json_city = json_decode(file_get_contents($this->ipPath . 'city.json'), true); |
|
439 | + $json_city = json_decode(file_get_contents($this->ipPath.'city.json'), true); |
|
440 | 440 | foreach ($json_city['rows'] as $key => $value) { |
441 | 441 | if ($value['name'] == $city_name) { |
442 | 442 | $city['name'] = $value['name']; |
@@ -447,7 +447,7 @@ discard block |
||
447 | 447 | } |
448 | 448 | } |
449 | 449 | if (!empty($district_name)) { |
450 | - $json_district = json_decode(file_get_contents($this->ipPath . 'district.json'), true); |
|
450 | + $json_district = json_decode(file_get_contents($this->ipPath.'district.json'), true); |
|
451 | 451 | foreach ($json_district['rows'] as $key => $value) { |
452 | 452 | if ($value['name'] == $district_name) { |
453 | 453 | $district['name'] = $value['name']; |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | private function http() |
131 | 131 | { |
132 | 132 | $ch = curl_init(); |
133 | - curl_setopt($ch, CURLOPT_URL, $this->panel . $this->url); |
|
133 | + curl_setopt($ch, CURLOPT_URL, $this->panel.$this->url); |
|
134 | 134 | curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout); |
135 | 135 | curl_setopt($ch, CURLOPT_POST, 1); |
136 | 136 | curl_setopt($ch, CURLOPT_POSTFIELDS, array_merge($this->getKeyData(), $this->data)); |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | { |
155 | 155 | $time = time(); |
156 | 156 | return array( |
157 | - 'request_token' => md5($time . '' . md5($this->key)), |
|
157 | + 'request_token' => md5($time.''.md5($this->key)), |
|
158 | 158 | 'request_time' => $time |
159 | 159 | ); |
160 | 160 | } |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | { |
55 | 55 | if (is_array($str)) { |
56 | 56 | $this->data = json_encode($str, JSON_UNESCAPED_UNICODE); |
57 | - } else { |
|
57 | + }else { |
|
58 | 58 | $this->data = $str; |
59 | 59 | } |
60 | 60 | return $this; |
@@ -150,13 +150,13 @@ discard block |
||
150 | 150 | } |
151 | 151 | if ($this->method === 'GET') { |
152 | 152 | $this->httpGet(); |
153 | - } else if ($this->method === 'POST') { |
|
153 | + }else if ($this->method === 'POST') { |
|
154 | 154 | $this->httpPost(); |
155 | - } else if ($this->method === 'XML') { |
|
155 | + }else if ($this->method === 'XML') { |
|
156 | 156 | $this->httpXml(); |
157 | - } else if ($this->method === 'FILE') { |
|
157 | + }else if ($this->method === 'FILE') { |
|
158 | 158 | $this->httpFile(); |
159 | - } else { |
|
159 | + }else { |
|
160 | 160 | throw new HttpException(404, '请求方式异常'); |
161 | 161 | } |
162 | 162 | if (empty($is)) { |
@@ -198,12 +198,12 @@ discard block |
||
198 | 198 | { |
199 | 199 | $ch = curl_init(); |
200 | 200 | curl_setopt($ch, CURLOPT_URL, $this->url); |
201 | - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: ' . $this->headers)); |
|
201 | + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: '.$this->headers)); |
|
202 | 202 | curl_setopt($ch, CURLOPT_HEADER, 0); |
203 | 203 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
204 | 204 | curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); |
205 | 205 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 |
206 | - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 |
|
206 | + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 |
|
207 | 207 | curl_setopt($ch, CURLOPT_POST, 1); |
208 | 208 | curl_setopt($ch, CURLOPT_POSTFIELDS, $this->data); |
209 | 209 | curl_setopt($ch, CURLOPT_TIMEOUT, 10); |
@@ -239,7 +239,7 @@ discard block |
||
239 | 239 | curl_setopt($ch, CURLOPT_TIMEOUT, 40); |
240 | 240 | set_time_limit(0); |
241 | 241 | if (!empty($this->headers)) { |
242 | - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: ' . $this->headers)); |
|
242 | + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: '.$this->headers)); |
|
243 | 243 | } |
244 | 244 | //运行curl |
245 | 245 | $data = curl_exec($ch); |
@@ -266,19 +266,19 @@ discard block |
||
266 | 266 | curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM'); |
267 | 267 | curl_setopt($ch, CURLOPT_SSLCERT, $this->cert['cert']); |
268 | 268 | curl_setopt($ch, CURLOPT_SSLKEY, $this->cert['key']); |
269 | - } else { |
|
269 | + }else { |
|
270 | 270 | if (substr($this->url, 0, 5) == 'https') { |
271 | 271 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书 |
272 | 272 | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名 |
273 | 273 | } |
274 | 274 | } |
275 | 275 | if (!empty($this->headers)) { |
276 | - curl_setopt($ch, CURLOPT_HTTPHEADER, array('content-type: ' . $this->headers)); |
|
276 | + curl_setopt($ch, CURLOPT_HTTPHEADER, array('content-type: '.$this->headers)); |
|
277 | 277 | } |
278 | - curl_setopt($ch, CURLOPT_HEADER, true); // 是否需要响应 header |
|
278 | + curl_setopt($ch, CURLOPT_HEADER, true); // 是否需要响应 header |
|
279 | 279 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
280 | 280 | $output = curl_exec($ch); |
281 | - $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // 获得响应结果里的:头大小 |
|
281 | + $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // 获得响应结果里的:头大小 |
|
282 | 282 | $response_body = substr($output, $header_size); |
283 | 283 | curl_close($ch); |
284 | 284 | $this->output = $response_body; |
@@ -135,7 +135,7 @@ discard block |
||
135 | 135 | $result = Db::table($this->table) |
136 | 136 | ->where('cache_name', $this->cache_name) |
137 | 137 | ->update([ |
138 | - 'cache_value' => $cache_value + $int |
|
138 | + 'cache_value' => $cache_value+$int |
|
139 | 139 | ]); |
140 | 140 | return $result ? true : false; |
141 | 141 | } |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | $result = Db::table($this->table) |
154 | 154 | ->where('cache_name', $this->cache_name) |
155 | 155 | ->update([ |
156 | - 'cache_value' => $cache_value - $int |
|
156 | + 'cache_value' => $cache_value-$int |
|
157 | 157 | ]); |
158 | 158 | return $result ? true : false; |
159 | 159 | } |
@@ -17,7 +17,7 @@ |
||
17 | 17 | // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library |
18 | 18 | // +---------------------------------------------------------------------- |
19 | 19 | |
20 | -declare (strict_types=1); |
|
20 | +declare(strict_types=1); |
|
21 | 21 | |
22 | 22 | namespace DtApp\ThinkLibrary\helper; |
23 | 23 |
@@ -17,7 +17,7 @@ |
||
17 | 17 | // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library |
18 | 18 | // +---------------------------------------------------------------------- |
19 | 19 | |
20 | -declare (strict_types=1); |
|
20 | +declare(strict_types=1); |
|
21 | 21 | |
22 | 22 | namespace DtApp\ThinkLibrary\helper; |
23 | 23 |
@@ -17,7 +17,7 @@ |
||
17 | 17 | // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library |
18 | 18 | // +---------------------------------------------------------------------- |
19 | 19 | |
20 | -declare (strict_types=1); |
|
20 | +declare(strict_types=1); |
|
21 | 21 | |
22 | 22 | namespace DtApp\ThinkLibrary\facade; |
23 | 23 |
@@ -17,7 +17,7 @@ |
||
17 | 17 | // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library |
18 | 18 | // +---------------------------------------------------------------------- |
19 | 19 | |
20 | -declare (strict_types=1); |
|
20 | +declare(strict_types=1); |
|
21 | 21 | |
22 | 22 | namespace DtApp\ThinkLibrary\facade; |
23 | 23 |
@@ -17,7 +17,7 @@ |
||
17 | 17 | // | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library |
18 | 18 | // +---------------------------------------------------------------------- |
19 | 19 | |
20 | -declare (strict_types=1); |
|
20 | +declare(strict_types=1); |
|
21 | 21 | |
22 | 22 | namespace DtApp\ThinkLibrary\facade; |
23 | 23 |