Time of Update: 2018-12-08
b/s: 基於瀏覽器和伺服器架構 web程式 c/s: QQ SVN client用戶端+ 伺服器簡單的基於文本行的協議: redis memcache 區別: 都是儲存資料的,memcache直接儲存到記憶體中,redis 儲存到記憶體中,關閉之後儲存到硬碟中,memcache 重啟電腦,關閉服務都會造成資料丟失 (1)儲存在記憶體中 (2)重啟電腦,重啟服務全部資料都消失 (3)LRU演算法,根據最近使用的變數,將長時間沒使用的變數刪除PHP如何操作memcache
Time of Update: 2018-12-08
使用PHP實現計算兩個日期間隔的年、月、周、日數:複製代碼 代碼如下:<?php function format($a,$b){ //檢查兩個日期大小,預設前小後大,如果前大後小則交換位置以保證前小後大 if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a); $start = strtotime($a); $stop = strtotime($b);
Time of Update: 2018-12-08
迭代器(Iterator)模式,它在一個很常見的過程上提供了一個抽象:位於對象圖不明部分的一組對象(或標量)集合上的迭代。迭代有幾種不同的具體執行方法:在數組屬性,集合對象,數組,甚至一個查詢結果集之上迭代。在對象的世界裡,迭代器模式要維持類似數組的功能,看作是一個非侵入性對象刻面(facet),Client類往往分離自真實對象實現,指iterator介面。只要有可能,我們可以給迭代器傳送一個引用,代替將來可能發生變化的具體或抽象類別。參與者:◆用戶端(Client):引用迭代器模式的方法在一組
Time of Update: 2018-12-08
第一種方法按照YII系統的辦法產生視圖覺得有點麻煩,覺得用smarty更省事。嘗試著把smarty模板加進來了。複製代碼 代碼如下:date_default_timezone_set("PRC");class PlaceController extends CController {protected $_smarty;function __construct(){parent::__construct('place');//需要一個參數來調用父類的建構函式,該參數為控制器ID$path =
Time of Update: 2018-12-08
解譯器(Interpreter)模式,它包括一個具有複合類分層結構的文法表現,規則是映射到類,跟隨在文法後面的運算式可以被轉換成一個抽象的文法樹,除了複合模式的執行個體對象圖外,沒有別的內容。樹是一個抽象的名詞,因為實際上大多數時候它是一個運算式的抽象表現,它忽略了可能有一個字串,也可能有一個資料結構的具體運算式,(例如,在PHP中,“A”和“\x41”是相同抽象字面值的不同具體表現),通過邏輯規則解耦結果,使解釋過程大大簡化。解譯器不是一個很常見的模式,但對於簡單的文法,它添加一個規則就象添加
Time of Update: 2018-12-08
責任鏈模式,其目的是組織一個對象鏈處理一個如方法調用的請求。當ConcreteHandler(具體的處理常式)不知道如何滿足來自Client的請求時,或它的目的不是這個時,它會委派給鏈中的下一個Handler(處理常式)來處理。這個設計模式通常和複合模式一起使用,其中有些葉子或容器物件預設委派操作給它們的父物件。另一個例子是,本地化通常是使用責任鏈處理的,當德語翻譯適配器沒有為翻譯關鍵詞找到合適的結果時,就返回到英語適配器或乾脆直接顯示關鍵詞本身。耦合減少到最低限度:Client類不知道由哪個具
Time of Update: 2018-12-08
命令模式(Command),命令模式是封裝一個通用操作的機制。如果你熟悉C或PHP,你可能已經遇到過Command,它相當於程式中的:回調(callback)。回調通常使用一個函數指標或資料結構如PHP中的字串和數組實現,Command是在一個方法調用之上的抽象,它吸收了所有物件導向的好處:合成、繼承和處理。例如,《設計模式》一書推薦使用Command儲存使用者行為鏈,以支援撤銷和重做操作。注意PHP
Time of Update: 2018-12-08
PHP共有8中資料類型:類型名稱類型表示取值bool布爾型true,falseinteger整型-2147483647-2147483648string字串型字串長度取決於機器記憶體float浮點型最大值1.8e308object對象通過new執行個體化 $obj=new person(); array數群組類型$arr=array(1,2,3,4,5,6);//一維數組resoursenull空值null布爾型bool :對於其他類型我們可以使用(bool)或者(boolean)
Time of Update: 2018-12-08
我在PHP項目裡要求把資料匯出為Excel,並且資料中包含中文.網上大概瞭解一下可是使用PHPExcel,可是相對我的需求,這個架構太複雜了.於是還是想找找簡單做法.網上發現其實最簡單可以這樣寫,但問題是這種做法中文的編碼不可靠..複製代碼 代碼如下:<?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=export_data.xls"
Time of Update: 2018-12-08
複製代碼 代碼如下:require_once "./include/zip.php"; $zip = new PHPZip(); //$zip -> createZip("要壓縮的檔案夾目錄位址", "壓縮後的檔案名稱.zip"); //只產生不自動下載 $zip -> downloadZip("要壓縮的檔案夾目錄位址", "壓縮後的檔案名稱.zip"); //自動下載 執行個體:可以參考下面的虛擬碼來看一個具體的使用情境:代碼 複製代碼 代碼如下:require_once "
Time of Update: 2018-12-08
unix下安裝PHP的module,需要重新編譯PHP,Windows下安裝模板,只需將php.ini裡的配置開啟相應的dll就可,例如,需要加入gb庫的支援,需要如下設定:extension_dir =
Time of Update: 2018-12-08
在開發時,我們要注意防止sql注入,所以在對錶單提交過來的值要做相應的處理,才可以把資料更新到資料庫裡php橫掃千軍函數。任何值都可以傳過來轉換複製代碼 代碼如下:function quotes($content) { //如果magic_quotes_gpc=Off,那麼就開始處理 if (!get_magic_quotes_gpc()) { //判斷$content是否為數組 if
Time of Update: 2018-12-08
我們定義page01.php和page02.php兩個php檔案,將page01中的內容想辦法傳遞到page02,然後供我們繼續使用。--------------------------------------------------------------------------------第一種:使用用戶端瀏覽器的cookie。cookie很容易理解,就是一個臨時檔案,可以把它看成一個儲藏室,瀏覽器在瀏覽的過程中記錄一些資訊,就暫時存放在這裡。在page01中設定一個cookie。複製代碼
Time of Update: 2018-12-08
javascript實現:複製代碼 代碼如下:top.location.href 最上層視窗的地址 this.location.href 當前視窗的地址PHP實現:複製代碼 代碼如下:#測試網址: http://localhost/blog/testurl.php?id=5//擷取網域名稱或主機地址 echo $_SERVER['HTTP_HOST']."<br>"; #localhost//擷取網頁地址 echo
Time of Update: 2018-12-08
如下所示:複製代碼 代碼如下:<?phpfunction unicode_encode($str, $encoding='GBK', $prefix='', $postfix=';'){ $str = iconv($encoding, 'UCS-2', $str); $arrstr = str_split($str, 2); $unistr = ''; for($i=0, $len=count($arrstr); $i<$len; $i++) { $dec =
Time of Update: 2018-12-08
中文如果用表單提交的話,不會出現亂碼,而用ajax提交就會出現亂碼,這是什麼原因呢?我的理解是,我在寫源碼的時候,一般用記事本寫,儲存的時候預設用ANSI編碼,源碼中也沒有用“<meta http-equiv=Content-Type
Time of Update: 2018-12-08
在使用PHP的OO模式開發系統時,通常大家習慣上將每個類的實現都存放在一個單獨的檔案裡,這樣會很容易實現對類進行複用,同時將來維護時也很便 利。這 也是OO設計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。下面是一個實際的例 子: 複製代碼 代碼如下:/* Person.class.php */<?phpclass Person {var $name, $age;function __construct ($name, $
Time of Update: 2018-12-08
在head.htm中加入,也就是在預設模版中添加“$stime=microtime(true); //擷取程式開始執行的時間”複製代碼 代碼如下:<!--<?php$stime=microtime(true); //擷取程式開始執行的時間$GuideFid[$fid]=str_replace("<a href='$webdb[www_url]' class='guide_menu'>>首頁</a>","",$GuideFid[$fid]);$fupId=
Time of Update: 2018-12-08
樣本一(用php的內建壓縮函數):複製代碼 代碼如下:<?PHP if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler'); Header("Content-type: text/html"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2018-12-08
php擷取檔案尾碼名(format file)//方法一: 複製代碼 代碼如下:<?php function extend_1( $file_name ) { $retval = “” ; $pt = strrpos ( $file_name , “.” ); if ( $pt ) $retval = substr ( $file_name , $pt +1, strlen ( $file_name ) - $pt );