国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法詳解

PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法詳解

2021-05-13 18:28Cizel PHP教程

最近通過在網(wǎng)上面的學(xué)習(xí),完成了 PHP 實(shí)現(xiàn)手機(jī)歸屬地查詢的功能。所以下面這篇文章主要給大家介紹了利用PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考借鑒,下面來一起看看吧。

本文介紹的是PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法,首先來看看手機(jī)歸屬地查詢的類圖:

PHP實(shí)現(xiàn)查詢手機(jī)歸屬地的方法詳解

后臺(tái)

MobileQuery類調(diào)用:

  • \libs\HttpRquest
  • \libs\ImRedis (未使用)

Api類調(diào)用 MobileQuery 類的 Query 方法來返回 $response 的數(shù)據(jù),并進(jìn)行加工。

前臺(tái)

base.js 使用 .ajax 請(qǐng)求,并將請(qǐng)求后的數(shù)據(jù)填充到index.html 中。

核心代碼展示

AutoLoad.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/**
 * TODO Auto-generated comment.
 */
class AutoLoad {
 
 /**
  * TODO Auto-generated comment.
  */
  public static function load($className)
 {
  //命名空間的反斜杠替代
  $filename = sprintf('%s.php',str_replace('\\','/',$className));
  require_once($filename);
 }
}
spl_autoload_register(['AutoLoad','load']);

Api.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/**
 * TODO Auto-generated comment.
 */
require_once "AutoLoad.php";
use \app\MobileQuery;
class Api{
 private $response;
 private $params;
 private $phone;
 public function __construct(){
  $this->params = $_POST;
  if(isset($this->params['tel'])) {
   $this->phone = $this->params['tel'];
  }else {
   $this->phone = '17706436202';
  }
  $this->queryResponse($this->phone);
 }
 public function queryResponse($phone) {
  $this->response = MobileQuery::query($phone);
  if(is_array($this->response) and isset($this->response['province'])) {
   $this->response['phone'] = $phone;
   $this->response['code'] = 200;
  } else {
   $this->response['phone'] = $phone;
   $this->response['msg'] = '手機(jī)號(hào)碼錯(cuò)誤';
  }
 }
 public function getResponse()
 {
  return json_encode($this->response);
 }
}
$Api = new Api();
echo $Api->getResponse();

app/MobileQuery.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
 * TODO Auto-generated comment.
 */
namespace app;
 
use libs\HttpRequest;
use libs\ImRedis;
 
class MobileQuery {
 /**
  * TODO Auto-generated comment.
  */
 const PHONE_API= 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm';
 /**
  * TODO Auto-generated comment.
  */
 const QUERY_PHONE = 'PHONE:INFO:';
 
 public static function query($phone)
 {
  $phoneData = null;
  if(self::varifyPhone($phone)){
   $response = HttpRequest::request(self::PHONE_API, ['tel'=>$phone]);
   $phoneData = self::formatData($response);
   $phoneData['msg'] ='數(shù)據(jù)由Cizel的博客提供';
  }
  return $phoneData;
 }
 
 public static function formatData($data)
 {
  $ret = null;
  if(!empty($data)){
   preg_match_all("/(\w+):'([^']+)/",$data,$res);
   $items = array_combine($res[1],$res[2]);
   foreach ($items as $itemKey => $itemVal) {
    $ret[$itemKey] = iconv('GB2312','UTF-8',$itemVal);
   }
  }
  return $ret;
 }
 
 public static function varifyPhone($phone)
 {
  if(preg_match("/^1[34578]{1}\d{9}/",$phone)) {
   return true;
  } else {
   return false;
  }
 }
}

lib/HttpRequest.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
/**
 * TODO Auto-generated comment.
 */
namespace libs;
 
class HttpRequest {
 
 /**
  * TODO Auto-generated comment.
  */
 public static function request($url, $params =[], $method='GET')
 {
  $ret = null;
  if(preg_match("/^(http|https)\:\/\/(\w+\.\w+\.\w+)/",$url)) {
   $method = strtoupper($method);
   if($method == 'POST') {
    exit('nothing to do.');
   } else {
    if($params) {
      if(strripos('?',$url)) {
      $url = $url . '&' . http_build_query($params);
      } else {
      $url = $url . '?' . http_build_query($params);
      }
    }
    $ret = file_get_contents($url);
   }
  }
  return $ret;
 }
}

statis/js/base.js

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
* @Author: Cizel
* @Date: 2016-04-11 16:53:52
* @Last Modified by: Cizel
* @Last Modified time: 2016-04-11 17:22:32
*/
 
$(document).ready(function(){
 $('#query').click(function(){
  var phone = $('#phone_num').val();
  //alert(phone);
  if (phone.length == 11) {
   Cizel.GLOBAL.AJAX('Api.php','post',{'tel':phone},'json',Cizel.APPS.QUERYPHONE.AJAXCALLBACK);
  }
 });
 });
 
var Cizel = Cizel || {};
Cizel.GLOBAL = {};
Cizel.APPS = {};
 
Cizel.APPS.QUERYPHONE = {};
Cizel.APPS.QUERYPHONE.AJAXCALLBACK = function(data){
 if(data.code == 200){
  Cizel.APPS.QUERYPHONE.SHOWINFO();
  $('#phoneNumber').text(data.phone);
  $('#phoneProvince').text(data.province);
  $('#phoneCatName').text(data.catName);
  $('#phoneMsg').text(data.msg);
 } else {
  Cizel.APPS.QUERYPHONE.HIDEINFO();
 }
};
Cizel.APPS.QUERYPHONE.SHOWINFO = function(){
 $('#phoneInfo').show();
}
Cizel.APPS.QUERYPHONE.HIDEINFO = function(){
 $('#phoneInfo').hide();
}
 
Cizel.GLOBAL.AJAX = function(url, method, params,dataType,callBack)
{
 $.ajax({
  url: url,
  type: method,
  data: params,
  dataType: dataType,
  success:callBack,
  error:function(){
   alert('請(qǐng)求異常');
  }
 
 });
};

感悟

通過完成這個(gè)實(shí)例,感覺自己對(duì) PHP 面向?qū)ο蟮木帉懹辛诵碌睦斫猓瑫r(shí) JavaScript 的編寫能力需要加強(qiáng)。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:http://www.cizel.cn/archives/query_phone.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产亚洲精品久久久久动 | 伊人久久综合 | 国产精品一区二区三区免费 | 99爱视频| 亚洲久久久| 一区二区三区视频在线观看 | 中文字幕免费视频 | 卡通动漫第一页 | 好吊妞国产欧美日韩免费观看视频 | 91伊人| 波多野结衣福利电影 | 91精品国产综合久久久久久丝袜 | 99re热精品视频 | 免费黄色网页 | 免费在线观看一区二区 | 伊人激情网 | 午夜社区 | 国产精品久久久久久久久晋中 | 一本亚洲 | 在线日韩视频 | 久久精品国产亚洲精品 | 亚洲成人精品在线观看 | 狼人综干网 | 欧美日韩中文字幕在线 | 亚洲精品在线视频观看 | 国产精品高潮呻吟久久 | 性刺激久久久久久久久九色 | 欧美在线观看一区二区 | 欧美不卡在线 | 欧洲精品久久久久69精品 | 视频一区在线播放 | 欧美精品区 | 国产乱码精品一区二区三区av | 天天爽夜夜爽夜夜爽精品视频 | 日韩在线影院 | 免费成人一级片 | 国产成人精品一区二区三区四区 | 狠狠天天 | 久久精品一级 | 性色av一区二区 | 91国产精品 |