Time of Update: 2017-01-13
擷取檔案尾碼的方法有很多種,差不多能總結出7,8種,原理基本上都分成兩種。第一種:得到檔案名稱中最後一個“.”的位置,然後再進行截取;第二種:用explode將檔案名稱以“.”進行分割成數組,再取數組中最後一個值。具體實現源碼參考:$file1 = 'e:/ddd/ww/file.doc.zip';$file2 = 'e:/ddd/ww/file.jpg.png';$suffix1 = end( 
Time of Update: 2017-01-13
例子,<?php$data="array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')";$arr = eval("return $data;");var_dump($arr);//array/*array 'key1' => string 'value1' (length=6) 'key2' =>
Time of Update: 2017-01-13
BadMethodCallException是PHP標準庫裡的異常處理類,是PHP內建的,比如在很多架構中可以看見繼承BadMethodCallException類,如Yii2中:namespace yii\base; /** * InvalidCallException represents an exception caused by calling a method in a wrong way. * * @author Qiang Xue <
Time of Update: 2017-01-13
php寫了一個簡單的使用者註冊頁面。本篇結合前一篇的內容,將註冊頁面上提交的資訊post 給後面的頁面register.php ,register.php將post的資訊提交入庫。一、建立資料庫與表結構1、建庫mysql> create database 361way character set utf8;Query OK, 1 row affected (0.00 sec)上面我建了一個同我網站同命的庫361way 。2、建立表結構CREATE TABLE IF NOT
Time of Update: 2017-01-13
獲得IP地址在 PHP 中得到當前訪問者的IP地址,還是比較簡單的:$ip = $_SERVER['REMOTE_ADDR']上面IP有時擷取不到真實IP地址我們可以如下操作$ip = GetIP();將IP轉換為城市等資訊淘寶提供了一個IP資料介面: http://ip.taobao.com/service/getIpInfo.php?ip=ip地址$response =
Time of Update: 2017-01-13
官方介紹file_put_contents() 函數把一個字串寫入檔案中。與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。寫入方法的比較先來看看使用 fwrite 是如何寫入檔案的$filename = 'HelloWorld.txt';$content = 'Hello World!';$fh =
Time of Update: 2017-01-13
今天遇到了php的cookie必須重新整理再生效的問題,可用一下方法解決://PHP COOKIE設定函數立即生效,支援數組function cookie($var, $value = '', $time = 0, $path = '', $domain = '', $s = false){ $_COOKIE[$var] = $value; if (is_array($value)) { &
Time of Update: 2017-01-13
利用php中的array_flip()函數將一組字串去重,再用sort()函數進行排序,來實現一些實際的應用效果。 源碼如下:<?php $strArr = array( 'www.111cn.net', 'xiao', 'rui', 'xiao', 'dai',
Time of Update: 2017-01-13
通過php用三種簡單的方法實現手機號中間四位(n位)用星號顯示:$mobile = '13912345678';//1.字串截取法$newMobile1 = substr($mobile, 0, 5).'****'.substr($mobile, 9);echo $newMobile1.'<br/>';//2.替換字串的子串$newMobile2 = substr_replace($mobile, '****', 5, 4);echo $newMobile2.'<br/>
Time of Update: 2017-01-13
這篇文章主要介紹了PHP實現的鏈式操作執行個體。寫程式的人都喜歡偷懶,希望少打幾行代碼,並且讓代碼看起來很酷。就好比很多小夥伴在寫if…else…的時候會直接使用三元運算子一樣。而用過JS的人應該都見識過js中的鏈式方法。如
Time of Update: 2017-01-13
博主最近開始真正的潛心學習PHP的各種設計模式。剛開始當然從一些簡單的設計模式開始學起,比如之前發表的原廠模式,今天的單利模式,還有之後要看的註冊模式。其實這些都是比較基礎的設計模式,一些簡單的樣本一看就能明白,對於稍加複雜些的樣本,花點心思進去也能夠理解。可重點是,光是知道瞭解這麼個東西是不夠的,而是如何能夠把他更好的運用的項目中去,在實踐中增加熟練度。好吧,還是說說今天要看的單例模式吧。一、什麼是單例模式?1、含義:作為對象的建立模式,單例模式確保某一個類只有一個執行個體,而且自行執行個體化
Time of Update: 2017-01-13
首先我們引入一些概念,搞清楚 CGI 和 FastCGICGI通用閘道介面(Common Gateway Interface/CGI)是一種重要的互連網技術,可以讓一個用戶端,從網頁瀏覽器向執行在網路伺服器上的程式請求資料。CGI描述了伺服器和請求處理常式之間傳輸資料的一種標準。FastCGI快速通用閘道介面(Fast Common Gateway
Time of Update: 2017-01-13
Web系統中,從一個網頁跳轉到另一個網頁,是項目中最常用的技術之一。頁面跳轉可能是由於使用者單擊連結、按鈕等引發的,也可能是系統自動產生的。此處介紹PHP中常用的實現頁面自動跳轉的方法。PHP頁面跳轉一、header()函數header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標題(header)輸出到瀏覽器。header()函數的定義如下:void header (string string [,bool replace [,int
Time of Update: 2017-01-13
最近在研究Hacker News API時遇到一個HTTPS問題。因為所有的Hacker News API都是通過加密的HTTPS協議訪問的,跟普通的HTTP協議不同,當使用PHP裡的函數 file_get_contents() 來擷取API裡提供的資料時,出現錯誤,使用的代碼是這樣的:<?php$data =
Time of Update: 2017-01-13
stdClass的分析stdclass在php中是預定義的幾個類之一,是zent保留的一個類。實際上它是PHP提供的一個基類,就是一個空白的類,裡面什麼都沒有,我們可以執行個體化它,然後定義一系列的變數,通過它來進行變數的傳遞(很多php程式員用它來傳遞一系列變數的值,而同時又懶得去建立一個自己的類)。但是,由於執行個體化後不能添加方法,只能傳遞屬性。因為,一旦類被實列化以後,就不能在添加方法了。stdclass可以作為基類使用,其最大特點是,(其衍生類別)可以自動新增成員變數,而無須在定義時說
Time of Update: 2017-01-13
簡單原廠模式:①抽象基類:類中定義抽象一些方法,用以在子類中實現②繼承自抽象基類的子類:實現基類中的抽象方法③工廠類:用以執行個體化對象使用原廠模式的目的或目標?原廠模式的最大優點在於建立對象上面,就是把建立對象的過程封裝起來,這樣隨時可以產生一個新的對象。減少代碼進行複製粘帖,耦合關係重,牽一髮動其他部分代碼。通俗的說,以前建立一個對象要使用new,現在把這個過程封裝起來了。假設不使用原廠模式:那麼很多地方調用類a,代碼就會這樣子建立一個執行個體:new a(),假設某天需要把a類的名稱修改,
Time of Update: 2017-01-13
反射類是一個類的映射 namespace News; class News{ public $newsid; public function index(){ …… &
Time of Update: 2017-01-13
適用情境:1、 需要產生的產品對象有複雜的內部結構。2、 需要產生的產品對象的屬性相互依賴,產生器模式可以強迫產生順序。3、 在對象建立過程中會使用到系統中的一些其它對象,這些對象在產品對象的建立過程中不易得到。使用效果:1、 產生器模式的使用使得產品的內部表象可以獨立的變化。使用產生器模式可以使用戶端不必知道產品內部組成的細節。2、 每一個Builder都相對獨立,而與其它的Builder無關。3、 模式所建造的最終產品更易於控制。<?php/*** Created by
Time of Update: 2017-01-13
【目的】:將一個類的介面轉換成客戶希望的另外一個介面,Adapter模式使得原來由於介面不相容而不能一起工作的那此類可以一起工作【主要角色】目標(Target)角色:定義用戶端使用的與特定領域相關的介面,這也就是我們所期待得到的源(Adaptee)角色:需要進行適配的介面適配器(Adapter)角色:對Adaptee的介面與Target介面進行適配;適配器是本模式的核心,適配器把源介面轉換成目標介面,此角色為具體類【適用性】1、你想使用一個已經存在的類,而它的介面不符合你的需求2、你想建立一個可
Time of Update: 2017-01-13
把HH:MM:SS格式的時間字串轉換成秒數,可以使用date_parse函數解析具體的時間資訊。<?php $time = '21:30:10'; $parsed = date_parse($time); $seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second']; echo