Time of Update: 2017-01-18
先來一個比較簡單實用的代碼日期YYYY-MM-DD$str = '';$isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches);var_dump($isMatched, $matches);php需要一定的時間格式才能轉換成時間戳記(表示從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數),這就要用到php正則判斷,以下是代碼:<?php//匹配時間格式為2016-
Time of Update: 2017-01-18
驗證碼功能(個人理解): 減輕伺服器的壓力(如12306的驗證碼功能); 防止暴力註冊個人思路:在a-z,A-Z,1-9產生n位隨機的數來構成新的驗證碼。關於產生驗證碼的幾個小函數range() //指定範圍輸出一個數組 a) 如: range(1,9)array_merge()//合并數組 a)
Time of Update: 2017-01-18
php 微信開發擷取使用者資訊擷取使用者資訊的大致演算法是 使用者授權登入第三方網站, 重點:scope參數: snsapi_basic 靜默登入,不需要使用者授權,只能擷取到openid; snsapi_userinfo ,需要使用者點擊授權,能擷取到openid和所有使用者資訊;第一步:先擷取使用者的code值; 第二步:根據code值去擷取access_token,每次請求的值都不一樣,如果沒有使用,每五分鐘更新一次;
Time of Update: 2017-01-18
php實現斷點續傳,就需要把大檔案分割成多個小檔案,然後單個上傳。傳完後在合并。│ merge.php –合并檔案指令碼 │ merge.zip –合并後檔案 │ socket.zip –需要分割的檔案 │ split.php –分割檔案指令碼 │ └─split –分割後小檔案目錄下面是源碼split.php<?php$fp = fopen("socket.zip", "rb");$filesize = 10;$i = 0;$no = 1;while(!feof($fp)){
Time of Update: 2017-01-18
本文執行個體講述了php自訂副檔名擷取函數。分享給大家供大家參考,具體如下:<?php$url = "http://www.abc.com/abc/de/fg.php?id=1";//這個是自己寫的function getUrl($url) { $date = explode('?', $url); $date = basename($date[0]); $date = explode('.', $date); return
Time of Update: 2017-01-18
前言有很多前輩告誡過我們,reload 能保證整個過程的平滑性,所謂平滑性指的是在 reload 的過程中,舊的進程在處理完當前請求前不會提前終止。很多年來,我從來沒有質疑過這種說法,直到有一天,當我 reload 的時候,出現了 502 錯誤,讓我不得不重新思考。如何重現問題呢?讓我們寫一個簡單的指令碼來類比:<?phpsleep(11);echo "foo";?>此時用瀏覽器瀏覽這個網址,接著立刻執行 reload 操作,就能看到 502 錯誤了。難道 PHP
Time of Update: 2017-01-18
PHP從主流來看,是一門面向過程的語言,它的最大缺點就是無法實現多線程管理,其程式的執行都是從頭到尾,按照邏輯一路執行下來,不可能出現分支,這一點是限制php在主流程式語言中往更進階的語言發展的原因之一。在PHP中我們有的時候其實希望在執行某項操作的時候,同時去執行另外一項操作,舉一個情境:在使用者搶票的時候,你並不希望使用者排隊去串連資料庫進行查詢、判斷、插入,完成之後再返回使用者結果。其實我們並不需要使用者等那麼久的時間,使用者提交之後,直接告訴他已經搶票成功了就可以了,至於各種操作,交給後
Time of Update: 2017-01-18
以前用PHP驗證郵箱、URL、IP是否合法都是通過自己寫正則來實現,但是有時候腦子發昏,可能會寫出一個不是完全正確的正則,導致驗證出錯,今天發現原來PHP本身內建了驗證郵箱、URL、IP是否合法的函數。主要使用的是filter_var函數。文法filter_var(variable, filter, options)參數 描述variable 必需。規定要過濾的變數。filter 可選。規定要使用的過濾器的 ID。options 規定包含標誌/選項的數組。檢查每個過濾器可能的標誌和選項。PHP
Time of Update: 2017-01-18
本文執行個體講述了PHP物件導向程式設計進階特性。分享給大家供大家參考,具體如下:進階特性包括:1.靜態方法和屬性(通過類而不是對象來訪問資料和功能)2.抽象類別和介面(設計,實現分離)3.錯誤處理(異常)4.Final類和方法(限制繼承)5.攔截器(自動委託)6.析構方法(對象銷毀前的清理工作)7.複製對象(建立對象的副本)8.把對象解析成字串PS,學會從記憶體的角度看代碼。想象電腦的微觀世界。靜態方法的小例子<?phpclass StaticExample{ static
Time of Update: 2017-01-18
本文執行個體講述了php中__toString()方法。分享給大家供大家參考,具體如下:我們前面說過在類裡面聲明“--”開始的方法名的方法,都是在某一時刻不同情況下自動調用執行的方法。“__toString()”方法也是一樣自動被調用的。是在直接輸出對象引用時自動調用的。<?phpclass TestClass{ public $foo; public function __construct($foo) { $this->foo = $foo; }
Time of Update: 2017-01-18
本文執行個體講述了php中this關鍵字用法。分享給大家供大家參考,具體如下:下面定義了一個Cart類<?phpclass Cart{ var $items; // 購物車中的項目 // 把 $num 個 $artnr 放入車中 function add_item ($artnr, $num) { $this->items[$artnr] += $num; } // 把 $num 個 $artnr 從車中取出 function remove_item ($
Time of Update: 2017-01-18
本文執行個體講述了php中final關鍵字用法。分享給大家供大家參考,具體如下:final關鍵字只能用來定義類和定義方法。使用final關鍵字標記的類不能被繼承final class Person{ .......}class Student extends Person{ .......}會出現錯誤提示。Fatal error :Class Student may not inherit from final
Time of Update: 2017-01-18
本文執行個體講述了php中static和const關鍵字用法。分享給大家供大家參考,具體如下:static關鍵字在類中描述的成員屬性和成員函數都是靜態。static成員能限制外部的訪問,因為static成員是屬於類的,而不是屬於任何對象執行個體。從記憶體的角度講,其中對象是放在“堆記憶體”中,對象的引用是放在“棧記憶體”中,而靜態成員被放在初始化靜態段中,在類的第一次載入的時候加入的。可以讓對記憶體中的所有對象所共用。如下圖所示:<?phpclass Person{ public
Time of Update: 2017-01-18
本文執行個體總結了php常用數組array函數。分享給大家供大家參考,具體如下:array_combine功能:用一個數組的值作為新數組的鍵名,另一個數組的值作為新數組的值案例:<?php$a = array("one","two","three");$b = array("一","二","三");$c = array_combine($a,$b);print_r($c);/**結果*Array ( [one] => 一 [two] => 二 [three] =>
Time of Update: 2017-01-18
本文執行個體總結了php常用字串String函數。分享給大家供大家參考,具體如下:nl2br 功能:化分行符號為<br><?php$str = "cat isn't \n dog";$result = nl2br($str);echo $result;/**結果cat isn'tdog*/rtrim功能:清除右邊的空白<?php$str = "Hello world ";echo strlen($str)."<br>";$result =
Time of Update: 2017-01-18
本文執行個體講述了php簡單實現檔案或圖片強制下載的方法。分享給大家供大家參考,具體如下://下載function downregcaseAction() { $file="upload/regcase.jpg"; if(isfile($file)) { header("Content-Type: application/force-download"); header("Content-Disposition: attachment;
Time of Update: 2017-01-18
本文執行個體講述了PHP判斷是否串連上網路的方法。分享給大家供大家參考。具體實現方法如下:首先寫個函數function varify_url($url){ $check = @fopen($url,"r"); if($check){ $status = true; }else{ $status = false; } return $status; } 接著在需要的地方直接調用即可$url = "http://www.baidu.com"; if(varify_url($url)){
Time of Update: 2017-01-18
thinkphp開發的一個項目,登入成功後又跳轉到登入頁面,在提交資訊後輸出session都是正常的,沒有問題,但是頁面跳轉後,session出現丟失現象,無法正常完成登陸。通過尋找資料,發現原來是bom頭的原因。受COOKIE送出機制的限制,在這些檔案開頭已經有BOM的檔案中,COOKIE無法送出(因為在COOKIE送出前PHP已經送出了檔案頭),所以登入和登出功能失效。一切依賴COOKIE、SESSION實現的功能全部無效。正確的處理方法是去掉某些檔案的bom,一般情況是在入口檔案出現的bo
Time of Update: 2017-01-18
php 遍曆目錄,組建目錄下每個檔案的md5值並寫入到結果檔案中執行個體代碼:<?php /** * @author Administrator * */class TestGenerate { public static $appFolder = ""; public static $ignoreFilePaths = array ( "xxxx/xxx.php" ); public static function start() { $AppPath =
Time of Update: 2017-01-18
編輯整理:麥子大家在選擇PHP版本時一定很困惑,有這麼多版本究竟選那個呢?問題:我們現在新買了個伺服器,用的是windows server 2008 r2。配置php 5.4的環境。但我們之前開發的用2003,php是用5.2版本的,移植到新伺服器,程式運行會有影響嗎?或者我還需要注意那些問題?API版本PHP採用大版本向下相容的升級方式,也就是說5.5相容5.1-5.4,話雖如此,實際上相容性並不樂觀,大家也不要指望PHP官方會給出什麼好的解決辦法。現在2013年9月,版本有5.2.17 5.