Time of Update: 2017-01-19
模式定義委託是對一個類的功能進行擴充和複用的方法。它的做法是:寫一個附加的類提供附加的功能,並使用原來的類的執行個體提供原有的功能。假設我們有一個 TeamLead 類,將其既定任務委託給一個關聯輔助對象 JuniorDeveloper 來完成:本來 TeamLead 處理 writeCode 方法,Usage 調用 TeamLead 的該方法,但現在 TeamLead 將 writeCode 的實現委託給 JuniorDeveloper 的 writeBadCode 來實現,但 Usage
Time of Update: 2017-01-19
PHP校正郵箱地址的方法很多, 比較常用的就是自己寫正則了, 不過正則多麻煩, 我PHP內建了方法做校正。filter_varfilter_var是PHP內建的一個變數過濾的方法, 提供了很多實用的過濾器, 可以用來校正整數、浮點數、郵箱、URL、MAC地址等。具體的過濾器參考: filters.validatefilter_var如果返回false, 說明變數無法通過過濾器, 也就是不合法了。$email = "lastchiliarch@163.com";
Time of Update: 2017-01-19
本文執行個體介紹了php打包網站並在線壓縮為zip的方法,分享給大家供大家參考,具體內容如下<?php//在URL後參加 ?pwd=密碼 查看產生密碼$password = '8baa717e6265d1c1d762cc896151f821'; //l23?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
Time of Update: 2017-01-19
本文執行個體介紹了php session 寫入資料庫的方法,分享給大家供大家參考,具體內容如下<?php ## codeMaker Alpha 0.1.1 ( haowei.me )# This framework comply with the GPL license agreement# class session_handler { protected $maxlifetime = null; protected $dbHandle = null;
Time of Update: 2017-01-19
本文執行個體講述了PHP訊號量基本用法。分享給大家供大家參考,具體如下:一些理論基礎:訊號量:又稱為號誌、旗語 用來解決進程(線程同步的問題),類似於一把鎖,訪問前擷取鎖(擷取不到則等待),訪問後釋放鎖。臨界資源:每次僅允許一個進程訪問的資源。臨界區:每個進程中訪問臨界資源的那段代碼叫臨界區進程互斥:兩個或以上的進程不能同時進入關於同一組共用變數的臨界地區,即一個進程正在訪問臨界資源,另一個進程要想訪問必須等待。進程同步主要研究如何確定數個進程之間的執行順序和避免資料競爭的問題
Time of Update: 2017-01-19
本文執行個體講述了PHP訊息佇列用法。分享給大家供大家參考,具體如下:該訊息佇列用於linux下,進程通訊#根據路徑和尾碼建立一個id$key = ftok(__DIR__, 'R');#擷取隊列中的訊息$q = msg_get_queue($key);#刪除隊列msg_remove_queue($q);#擷取隊列的狀態資訊$status = msg_stat_queue($q);print_r($status);echo "\n";for($i=0;$i<100;$i++){ /**
Time of Update: 2017-01-19
本文執行個體講述了PHP共用記憶體用法。分享給大家供大家參考,具體如下:共用記憶體主要用於處理序間通訊php中的共用記憶體有兩套擴充可以實現1、shmop 編譯時間需要開啟 --enable-shmop 參數執行個體:$shm_key = ftok(__FILE__, 't');/** 開闢一塊共用記憶體int $key , string $flags , int $mode , int $size $flags: a:訪問唯讀記憶體段
Time of Update: 2017-01-19
為了能讓PHP串連MSSQL,系統需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將 ;extension=php_mssql.dll前面的;去掉1.串連MSSQL $conn=mssql_connect("執行個體名或者伺服器IP","使用者名稱","密碼"); //測試連接 if($conn) { echo "串連成功"; }2.選擇要串連的資料庫
Time of Update: 2017-01-19
Composer 是新一代的PHP依賴管理工具。其介紹和基本用法可以看這篇《Composer PHP依賴管理的新時代》。本文介紹使用Composer的五個小技巧,希望能給你的PHP開發帶來方便。1. 僅更新單個庫只想更新某個特定的庫,不想更新它的所有依賴,很簡單:composer update foo/bar 此外,這個技巧還可以用來解決“警告資訊問題”。你一定見過這樣的警告資訊:Warning: The lock file is not up to date with the latest
Time of Update: 2017-01-19
當一個目錄下有很多檔案時,伺服器的處理效能會變低,php預設的session僅僅存放在/tmp目錄下,未進行分級,當有一定的訪問量時,就存在效能問題了。首先,修改 php.ini的 session.save_path 選項修改如下:session.save_path = “2;/tmp/session” (去掉前面分號)表示把session存放在 “/tmp/session” 目錄下,並且分成 2
Time of Update: 2017-01-19
MD5加密:string md5 ( string $str [, bool $raw_output = false ] )1.md5()預設情況下以 32 字元十六進位數字形式返回散列值,它接受兩個參數,第一個為要加密的字串,第二個為raw_output的布爾值,預設為false,如果設定為true,md5()則會返回原始的 16
Time of Update: 2017-01-19
在做開發的時候,有可能會忘記掉一些技術細節。這些細節有可能會造成很嚴重的後果,比如網站被注入、網站崩潰等等。現在我們總結一下,有可能會遇到的一些 PHP 中的一些 “陷阱”。陷阱一:empty()<?php//以下代碼會直接導致PHP解析錯誤$arr1 = [1, 2, 3];$arr2 = [3, 4];if(empty(array_diff($arr1, $arr2))) { //解析錯誤 echo 'empty';} else { echo 'not
Time of Update: 2017-01-19
本文執行個體講述了PHP簡單處理表單輸入的特殊字元的方法。分享給大家供大家參考,具體如下:<html><body> <?php if ($_POST['submitted'] == "yes"){ $yourname = $_POST['yourname']; $yourname = trim ($yourname); $yourname = strip_tags ($yourname); $yourname =
Time of Update: 2017-01-19
本文執行個體講述了PHP實現的構造sql語句類。分享給大家供大家參考,具體如下:/*** @package Database Class* @author injection (mail:injection.mail@gmail.com)* @version 1.0*/@ini_set( 'display_errors',0 );class DataBase{ private $mDb_host,$mAb_user,$mAb_pwd,$mConn_No; function DataBase( $
Time of Update: 2017-01-19
本文執行個體講述了PHP快速產生各種資訊氣球的方法。分享給大家供大家參考,具體如下:function ShowMsg($msg, $gourl, $onlymsg = 0, $limittime = 0) //系統提示資訊{/**$msg 資訊提示的內容*$gourl 需要跳轉的網址*$onlymsg 1 表示不自動跳轉 0表示自動跳轉*$limittime 跳轉的時間*/ global $dsql, $cfg_ver_lang; if (eregi ( "^gb",
Time of Update: 2017-01-19
本文執行個體講述了PHP實現原比例產生縮圖的方法。分享給大家供大家參考,具體如下:<?php$image = "jiequ.jpg"; // 原圖$imgstream = file_get_contents($image);$im = imagecreatefromstring($imgstream);$x = imagesx($im);//擷取圖片的寬$y = imagesy($im);//擷取圖片的高// 縮減後的大小$xx = 140;$yy = 200;if($x>$
Time of Update: 2017-01-19
本文執行個體講述了PHP擷取昨天、今天及明天日期的方法。分享給大家供大家參考,具體如下://PHP返回昨天的日期function get_last_date() { $tomorrow = mktime(0,0,0,date("m"),date("d")-1,date("Y")); return date("Y-m-d", $tomorrow);}//PHP返回今天的日期function get_today_date() { $today=date("Y-m-d"); return today;
Time of Update: 2017-01-19
在編寫代碼的時候有個神奇的工具總是好的!下面這裡收集了 40+ PHP 程式碼片段,可以協助你開發PHP 項目。 之前已經為大家分享了《必須收藏的23個php實用程式碼片段》。這些PHP 片段對於PHP 初學者也非常有協助,非常容易學習,讓我們開始學習吧~ 24. 從 PHP 資料建立 CSV 檔案 function generateCsv($data, $delimiter = ',', $enclosure = '"') { $handle = fopen('php://temp',
Time of Update: 2017-01-19
在編寫代碼的時候有個神奇的工具總是好的!下面這裡收集了 40+ PHP 程式碼片段,可以協助你開發 PHP 項目。 這些 PHP 片段對於 PHP 初學者也非常有協助,非常容易學習,讓我們開始學習吧~ 1. 發送 SMS 在開發 Web 或者行動裝置 App的時候,經常會遇到需要發送 SMS 給使用者,或者因為登入原因,或者是為了發送資訊。下面的 PHP 代碼就實現了發送 SMS 的功能。 為了使用任何的語言發送 SMS,需要一個 SMS gateway。大部分的 SMS 會提供一個
Time of Update: 2017-01-19
PHP校正郵箱地址的方法很多, 比較常用的就是自己寫正則了, 不過正則多麻煩, 我PHP內建了方法做校正。filter_varfilter_var是PHP內建的一個變數過濾的方法, 提供了很多實用的過濾器, 可以用來校正整數、浮點數、郵箱、URL、MAC地址等。filter_var如果返回false, 說明變數無法通過過濾器, 也就是不合法了。$email = "lastchiliarch@163.com"; var_dump(filter_var($email,