php手機(jī)歸屬地查詢Demo


layout: post
title: "php手機(jī)歸屬地查詢Demo"
date: 2016-05-18 22:37:17 +0800
comments: true
categories: [php]


看了視頻過后準(zhǔn)備自己擼一個(gè)PHP的手機(jī)歸屬地查詢秦叛。這個(gè)Demo的思路和方法其實(shí)算不上難幽钢。但是這個(gè)Demo作者使用了框架的思維并且用到了SPL等知識(shí)啥容。以前沒有寫過這樣的代碼廓旬,所以決定自己寫一次咖刃。

下面具體說說這個(gè)Demo中遇到的一些問題。

SPL-AutoLoad

在使用SPL的autoload時(shí)相赁,借助以前的Spl的代碼來實(shí)際使用饵蒂,發(fā)現(xiàn)在實(shí)際的項(xiàng)目中老是出現(xiàn)無法加載的情況。
先把具體代碼貼出來

<?php
    use app\MobileQuery;
    spl_autoload_extensions();
    set_include_path(get_include_path().PATH_SEPARATOR."libs/".PATH_SEPARATOR."app/");
    spl_autoload_register();
?>
<?php libs/mypdo.php
namespace libs;
use \PDO;
    class mypdo
    {
    }

如上,當(dāng)我將libs/mypdo.php命名為MyPdo.php時(shí)围苫,在實(shí)例化mypdo就會(huì)發(fā)生不能加載的情況裤园,而如果命名成小寫就沒有問題。
原因如下:
<pre class="prettyprint linenums">
WINDOWS大小寫不敏感剂府,而在LINUX下區(qū)分大小寫拧揽,
spl_autoload會(huì)把類名轉(zhuǎn)化為小寫進(jìn)行文件搜索,
這樣就造成linux下無法正常include文件.
解決辦法:
1.索性把被包含文件改成小寫腺占;
2.掃目錄得到文件列表淤袜,然后遍歷列表去匹配出正確文件名,包含之衰伯。
</pre>

PHP內(nèi)存不夠

這個(gè)其實(shí)問題是出在對(duì)命名空間理解不透徹铡羡。

之前在使用PDO的時(shí)候?yàn)榱朔奖悖苯訉⒆远x的PDO操作類命名為PDO.php并且在構(gòu)造函數(shù)中實(shí)例化PDO對(duì)象意鲸。

<?php
namespace libs;
use \PDO;
    class PDO
    {
        public function __construct()
        {
            try {

                $this->db = new PDO("mysql:host=".$this->db_host.";dbname=".$this->db_name,$this->db_user,$this->db_pass);
                $this->db->exec("SET CHARACTER SET".$this->db_charset);
                $this->db->exec("SET NAMES".$this->db_charset);
            } catch (PDOException $e) {
                print "Error!:".$e->getMessage()."<br>";
                die();
            }

        }
    }
?>

一直報(bào)錯(cuò)烦周,PHP每次不夠,改了很多次php.ini都沒用临扮。后來突然發(fā)現(xiàn)是我在new PDO的時(shí)候它實(shí)際上是new的自己本身论矾,造成了一個(gè)死循環(huán)。

后來將類名改成mypdo后發(fā)現(xiàn)找不到PDO杆勇。

原來是我這里用了命名空間的概念贪壳,如果想用PDO需要在前面加入

use \PDO;
```。

**MySQL刪除json_encode()出來的\**

在將數(shù)據(jù)保存到數(shù)據(jù)庫后蚜退,在讀數(shù)據(jù)時(shí)不能```json_decode```對(duì)應(yīng)的中文闰靴。

后來發(fā)現(xiàn)是在存入數(shù)據(jù)庫時(shí),中文編碼出來的```\```被刪除了钻注。
```php
{"a":"\u232e234\e23"}//json_encode的結(jié)果
{"a":"u232e234e23"}//存到數(shù)據(jù)庫的結(jié)果

解決方法:
在外層調(diào)用一下函數(shù)addslashes();這個(gè)函數(shù)會(huì)在每個(gè)反斜杠的前面添加反斜杠蚂且,如此這般就可以存進(jìn)數(shù)據(jù)庫了。

  $info = addslashes(json_encode($review_log));//這樣處理后存進(jìn)數(shù)據(jù)庫就不回丟失“\"

最后我將這個(gè)Demo放到了GitHub:https://github.com/EwanReton/PhpPhoneLocation

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幅恋,一起剝皮案震驚了整個(gè)濱河市杏死,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捆交,老刑警劉巖淑翼,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異品追,居然都是意外死亡玄括,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門肉瓦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遭京,“玉大人胃惜,你說我怎么就攤上這事∧牡瘢” “怎么了船殉?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長热监。 經(jīng)常有香客問我捺弦,道長,這世上最難降的妖魔是什么孝扛? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任列吼,我火速辦了婚禮,結(jié)果婚禮上苦始,老公的妹妹穿的比我還像新娘寞钥。我一直安慰自己,他們只是感情好陌选,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布理郑。 她就那樣靜靜地躺著,像睡著了一般咨油。 火紅的嫁衣襯著肌膚如雪您炉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天役电,我揣著相機(jī)與錄音赚爵,去河邊找鬼。 笑死法瑟,一個(gè)胖子當(dāng)著我的面吹牛冀膝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霎挟,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼窝剖,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了酥夭?” 一聲冷哼從身側(cè)響起赐纱,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熬北,沒想到半個(gè)月后千所,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蒜埋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了最楷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片整份。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡待错,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烈评,到底是詐尸還是另有隱情火俄,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布讲冠,位于F島的核電站瓜客,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏竿开。R本人自食惡果不足惜谱仪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望否彩。 院中可真熱鬧疯攒,春花似錦、人聲如沸列荔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贴浙。三九已至砂吞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間崎溃,已是汗流浹背蜻直。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笨奠,地道東北人袭蝗。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像般婆,于是被迫代替她去往敵國和親到腥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容

  • PHP 學(xué)習(xí)目錄 ├─PHP視頻教程 1 LAMP網(wǎng)站構(gòu)建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創(chuàng)業(yè)閱讀 16,157評(píng)論 29 417
  • 在PHP開發(fā)過程中蔚袍,如果希望從外部引入一個(gè)class乡范,通常會(huì)使用include和require方法,去把定義這...
    四月不見閱讀 1,051評(píng)論 0 0
  • Php:腳本語言啤咽,網(wǎng)站建設(shè)晋辆,服務(wù)器端運(yùn)行 PHP定義:一種服務(wù)器端的HTML腳本/編程語言,是一種簡單的、面向?qū)ο?..
    廖馬兒閱讀 2,141評(píng)論 2 38
  • 本文分為兩部分:第一部分講__autoload()函數(shù)實(shí)現(xiàn)的類自動(dòng)加載宇整。第二部分講spl_autoload_reg...
    舒小賤閱讀 2,557評(píng)論 1 4
  • 十月瓶佳,認(rèn)識(shí)你的第四年,第一次因?yàn)槟愣膭?dòng)鳞青。很久沒有喜歡一個(gè)人的悸動(dòng)霸饲,小心翼翼地接觸你为朋,本以為是一場勢均力敵的暗戀,...
    苦的優(yōu)啦蜜閱讀 219評(píng)論 0 0