Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 橋接模式 * * 將抽象部份與它實現部分分離,使用它們都可以有獨立的變化 */ abstract class Implementor { abstract public function operation(); } class ConcreteImplementorA extends Implementor { public function operation() { echo "ConcreteImplementorA Operation&
Time of Update: 2018-12-08
第一種方法: 【二分尋找要求】:1.必須採用順序儲存結構 2.必須按關鍵字大小有序排列。 【優缺點】折半尋找法的優點是比較次數少,尋找速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半尋找方法適用於不經常變動而尋找頻繁的有序列表。 【演算法思想】首先,將表中間位置記錄的關鍵字與尋找關鍵字比較,如果兩者相等,則尋找成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於尋找關鍵字,則進一步尋找前一子表,否則進一步尋找後一子表。 複製代碼
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 職責鏈模式 * * 為解除請求的寄件者和接收者之間的耦合,而使用多個對象都用機會處理這個請求,將這些對象連成一條鏈,並沿著這條鏈傳遞該請求,直到有一個對象處理它 * */ abstract class Handler { protected $_handler = null; public function setSuccessor($handler) { $this->_handler = $handler; } abstract
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php //作者:遙遠的期待 //QQ:15624575 //演算法分析:1、必須是整數序列、2、如果整個序列不全是負數,最大子序列的第一項必須是正數,否則最大子序列後面的數加起來再加上第一項的負數,其和肯定不是最大的;3、如果整個序列都是負數,那麼最大子序列的和是0; //全負數序列很簡單,不舉例 $arr=array(4,-3,5,-2,-1,2,6,-2); function getmaxsum($arr){ $thissum=0; $maxsum=0;
Time of Update: 2018-12-08
享元模式英文稱為“Flyweight Pattern”,我非常感謝將Flyweight Pattern翻譯成享元模式的那位強人,因為這個詞將這個模式使用的方式明白得表示了出來;如果翻譯成為羽量級模式或者蠅量級模式等等,雖然可以含蓄的表現出使用此模式達到的目的,但是還是沒有抓住此模式的關鍵。 享元模式的定義為:採用一個共用來避免大量擁有相同內容對象的開銷。這種開銷中最常見、直觀的就是記憶體的損耗。享元模式以共用的方式高效的支援大量的細粒度對象。
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 中介者模式 * * 用一個中介對象來封裝一系列的對象互動,使各對象不需要顯式地相互引用從而使其耦合鬆散,而且可以獨立地改變它們之間的互動 */ abstract class Mediator { abstract public function send($message,$colleague); } abstract class Colleague { private $_mediator = null; public function
Time of Update: 2018-12-08
複製代碼 代碼如下:<?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: 2018-12-08
1、向array中添加元素 php是一個弱類型語言。因此不必象c語言那樣為php array聲明長度。向其中添加元素的過程也是聲明和初始化的過程。 複製代碼 代碼如下:$capitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'Juneau', 'Arizona' => 'Phoenix' ); 繼續添加元素也很簡單 複製代碼 代碼如下:$capitals['Arkansas'] = 'Little Rock';
Time of Update: 2018-12-08
首先,確認伺服器硬體是否足夠支援當前的流量。 普通的P4伺服器一般最多能支援每天10萬獨立IP,如果訪問量比這個還要大, 那麼必須首先配置一台更高效能的專用伺服器才能解決問題 ,否則怎麼最佳化都不可能徹底解決效能問題。 其次,最佳化資料庫訪問。 前台實現完全的靜態化當然最好,可以完全不用訪問資料庫,不過對於頻繁更新的網站, 靜態化往往不能滿足某些功能。 緩衝技術就是另一個解決方案,就是將動態資料儲存到快取檔案中,動態網頁直接調用
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php function array_add($a,$b){ //根據鍵名擷取兩個數組的交集 $arr=array_intersect_key($a, $b); //遍曆第二個數組,如果鍵名不存在與第一個數組,將數組元素增加到第一個數組 foreach($b as $key=>$value){ if(!array_key_exists($key, $a)){ $a[$key]=$value; } }
Time of Update: 2018-12-08
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: 2018-12-08
這時,函數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: 2018-12-08
代理,指的就是一個角色代表另一個角色採取行動,就象生活中,一個紅酒廠商,是不會直接把紅酒零售客戶的,都是通過代理來完成他的銷售業務。而客戶,也不用為了喝紅酒而到處找工廠,他只要找到廠商在當地的代理就行了,具體紅酒工廠在那裡,客戶不用關心,代理會幫他處理。 代理模式,就是給某一對象提供代理對象,並由代理對象控制具體對象的引用。 代理模式涉及的角色: 抽象主題角色,聲明了代理主題和真實主題的公用介面,使任何需要真實主題的地方都能用代理主題代替。
Time of Update: 2018-12-08
例如部落格的展示窗 複製代碼 代碼如下:<?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: 2018-12-08
複製代碼 代碼如下:<?php /** * 組合模式 * * 將對象組合成樹形結構以表示"部分-整體"的階層,使得客戶對單個對象和綜合物件的使用具有一致性 */ abstract class MenuComponent { public function add($component){} public function remove($component){} public function getName(){} public function getUrl(){}
Time of Update: 2018-12-08
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: 2018-12-08
複製代碼 代碼如下:#!/usr/local/bin/php -q author:freemouse <?php // 下面是說明. print ("本程式用於合并2張 640x480大小的.\n"); print ("圖片,並將其轉化為一張 400x300 大小的圖片\n"); print ("需要指定存放合成前圖片(a.jpg,b.jpg)的預設目錄\n"); print ("產生的圖片將會儲存為c.jpg\n"); //預設目錄,自己編輯吧^_^
Time of Update: 2018-12-08
看代碼: 複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> New
Time of Update: 2018-12-08
1.fopen實現代碼:複製代碼 代碼如下:<?php $handle = fopen ("http://www.example.com/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); ?> 複製代碼 代碼如下:<?php // 對 PHP 5 及更高版本 $handle =
Time of Update: 2018-12-08
自己搭建IP資料庫佔資源,而且更新不便,何不使用現成的IP查詢呢?下面自己寫了個擷取IP物理地址的PHP代碼(有一定的瑕疵,請高手不吝賜教) 複製代碼 代碼如下:<!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8" /> <meta name="author" content="" /> <meta