Time of Update: 2017-02-28
複製代碼 代碼如下:<?php /** * 職責鏈模式 * * 為解除請求的寄件者和接收者之間的耦合,而使用多個對象都用機會處理這個請求,將這些對象連成一條鏈,並沿著這條鏈傳遞該請求,直到有一個對象處理它 * */ abstract class Handler { protected $_handler = null; public function setSuccessor($handler) { $this->_handler = $handler; } abstract
Time of Update: 2017-02-28
複製代碼 代碼如下:<?php /** * 享元模式 * * 運用享元技術有效支援大量細粒度的對象 */ class CD { private $_title = null; private $_artist = null; public function setTitle($title) { $this->_title = $title; } public function getTitle() { return $this->_title; } public
Time of Update: 2017-02-28
複製代碼 代碼如下:<?php /** * 中介者模式 * * 用一個中介對象來封裝一系列的對象互動,使各對象不需要顯式地相互引用從而使其耦合鬆散,而且可以獨立地改變它們之間的互動 */ abstract class Mediator { abstract public function send($message,$colleague); } abstract class Colleague { private $_mediator = null; public function
Time of Update: 2017-02-28
複製代碼 代碼如下:<?php /** * 原型模式 * * 用原型執行個體指定建立對象的種類.並且通過拷貝這個原型來建立新的對象 * */ abstract class Prototype { private $_id = null; public function __construct($id) { $this->_id = $id; } public function getID() { return $this->_id; } public function
Time of Update: 2017-02-28
首先,確認伺服器硬體是否足夠支援當前的流量。 普通的P4伺服器一般最多能支援每天10萬獨立IP,如果訪問量比這個還要大, 那麼必須首先配置一台更高效能的專用伺服器才能解決問題 ,否則怎麼最佳化都不可能徹底解決效能問題。 其次,最佳化資料庫訪問。 前台實現完全的靜態化當然最好,可以完全不用訪問資料庫,不過對於頻繁更新的網站, 靜態化往往不能滿足某些功能。 緩衝技術就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接調用
Time of Update: 2017-02-28
這時,函數bool session_set_save_handler ( callback open, callback close, callback read, callback write, callback destroy, callback gc )就是提供給我們解決這個問題的方案. 該函數使用的6個函數如下: 1. bool open() 用來開啟會話儲存機制, 2. bool close() 關閉會話儲存操作. 3. mixde read()
Time of Update: 2017-02-28
URL跳轉代碼 1.代碼: <? $url=$_GET["url"];header("Location:"."http://".$url);?> 如儲存為aaa.php,可以實現aaa.php?url=www.baidu.com跳轉到百度的效果. 這個簡單的調用了預設的$_GET變數.以及php預設跳轉Location: 2.執行個體升級:增加if迴圈 代碼: 複製代碼 代碼如下:<? $url=$_GET["url"]; if (strlen($url >=3)){
Time of Update: 2017-02-28
1. 函數的任意數目的參數 你可能知道PHP允許你定義一個預設參數的函數。但你可能並不知道PHP還允許你定義一個完全任意的參數的函數 下面是一個樣本向你展示了預設參數的函數: // 兩個預設參數的函數 function foo($arg1 = '', $arg2 = '') { echo "arg1: $arg1\n";
Time of Update: 2017-02-28
1、向array中添加元素 php是一個弱類型語言。因此不必象c語言那樣為php array聲明長度。向其中添加元素的過程也是聲明和初始化的過程。 複製代碼 代碼如下:$capitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'Juneau', 'Arizona' => 'Phoenix' ); 繼續添加元素也很簡單 複製代碼 代碼如下:$capitals['Arkansas'] = 'Little Rock';
Time of Update: 2017-02-28
array getimagesize ( string $filename [, array &$imageinfo ] ) 取得映像大小 resource imagecreatetruecolor ( int $x_size , int $y_size ) 建立一個真彩色映像 resource imagecreatefromjpeg ( string $filename ) 從 JPEG 檔案或 URL 建立一映像 bool imagecopyresized ( resource
Time of Update: 2017-02-28
例如部落格的展示窗 複製代碼 代碼如下:<?php /********************************************** * Filename : img.php * Author : freemouse * web : www.cnphp.info * email :freemouse1981@gmail.com * Date : 2010/12/27 * Usage: * <img src=img.php> * <img
Time of Update: 2017-02-28
register.php: 複製代碼 代碼如下:<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title>註冊頁面</title> </head> <body> <form action="request.php" method="post" name="registForm"> &
Time of Update: 2017-02-28
1.UNIX時間戳記 phpd 處理資料,特別是對資料庫中時間類型資料進行格式化時,需先將時間類型的資料轉化為UNIX時間戳記進行處理。不同的資料庫系統對時間類型的資料 不能相容 轉換,這時就需要將時間轉化為UNIX時間戳記。這樣京實現了不同資料庫系統的跨平台性。 2.時間轉化為時間戳記 如果要將用字串表達的日期和時間轉化為時間戳記的形式,可以使用strtotime()函數。 文法格式如下: int strtotime(string $time [, int $now ]) 例如: 複製代碼
Time of Update: 2017-02-28
1.檔案目錄操作 最頂層止錄是磁碟根目錄,用'/'或'//' 目前的目錄 ./ ../表示apache的目錄即htdocs目錄 1.建立與刪除目錄 mkdir 複製代碼 代碼如下:<?php if(mkdir("./path",0700)) //在目前的目錄中建立path目錄 echo "建立成功"; ?> 2.擷取和更改目前的目錄 使用getcwd()函數可以取得當前的工作目錄,該函數沒有參數。成功則返回當前的工作目錄,失敗則返回FALSE 3.開啟和關閉目錄控制代碼
Time of Update: 2017-02-28
1.字串的定義與顯示 定義:通過””,''來標誌 顯示:echo()和print(),但print()具有傳回值值,1,而echo()沒有,但echo比print()要快,print()能用在複合陳述式中。 2.字串的格式化 printf(string $format[,mixed$args]) 第一參數是格式字串,$args是要替換進來的值,prinf(“%d”,$num); 說明,如果想列印一個”%”,必須用”%”,浮點數f,八進位用”0” 3.常用的字串函數 1.計算字串的長度
Time of Update: 2017-02-28
1.數組的處理: 1.1 數組的建立和初始化: 1.arrary()函數建立數組,預設情況下0元素是數組的第一個元素, count()和sizeof()函數獲得資料元素的個數 2.使用變數建立數組 compact()在當前的符號表中尋找該變數名並將它添加到輸出的數組中,變數名成為鍵名而變數的內容成為該鍵的值. 複製代碼 代碼如下:<?php $num=10; $str="string"; $array=array(1,2,3); $newarray=compact("num","str",
Time of Update: 2017-02-28
今天看到幾個有關PHP的符號。一個是@,這個加在一個變數的前面,是為了抑制PHP解譯器報錯,也就是說即使出了錯也不會顯示出來。 還有一個更重要的符號PHP的範圍解析操作符(::) 在沒有聲明任何執行個體的情況下訪問類中的函數或者基類中的函數和變數很有用處。而 :: 運算子即用於此情況。 複製代碼 代碼如下:<?php class A { function example() { echo "I am the original function A::example().<br
Time of Update: 2017-02-28
用戶端發送的請求類似這樣 複製代碼 代碼如下:$request = array('parameters00','parameters01'); 在用戶端的請求你可以制定參數的資料類型,你可以將每個參數單獨的放進一個數組,在數組的第二個位置制定參數的資料類型,類似這樣 複製代碼 代碼如下:$request = array( array('parameters00','string'), array('parameters01','boolean'),
Time of Update: 2017-02-28
Snoopy是什麼? (下載snoopy) Snoopy是一個php類,用來模仿web瀏覽器的功能,它能完成擷取網頁內容和發送表單的任務。 Snoopy的一些特點: * 方便抓取網頁的內容 * 方便抓取網頁的常值內容 (去除HTML標籤) * 方便抓取網頁的連結 * 支援代理主機 * 支援基本的使用者名稱/密碼驗證 * 支援設定 user_agent, referer(來路), cookies 和 header content(標頭檔) * 支援瀏覽器轉向,並能控制轉向深度 *
Time of Update: 2017-02-28
今天一個網友在群裡發了個題目不難,但是可能會錯 複製代碼 代碼如下:echo $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'foura' : 'other'; echo "\n"; 輸出結果是: <BR> 結果是:four 一開始想不明白,按照我的理解,應該是這樣的邏輯: echo ($a == 1 ? 'one' : ( $a == 2 ? 'two' : ( $a == 3 ? 'three'