Time of Update: 2016-07-14
建立和處理表單是web開發人員的一個重要能力指標,本章梳理下重點。1、GET和POST的區別 GET方法不支援ASCII字元之外的任何字元,需要編碼操作(url_encode(),url_decode()),有的瀏覽器可自動完成。2、表單元素 常用的十幾個牢記即可,暫不表述。 3、檢查提交來源 來源: $ref = $_SERVER['HTTP_REFERER'] 伺服器位址: $srv =
Time of Update: 2016-07-14
用正則匹配字元,如果是全部替換很簡單,使用preg_replace就可以了。但是我現在要對得到的多個匹配成功的結果,隨機替換其中的一個,這個就有點麻煩了。自己寫了個函數解決,不知道有沒有其它更好的方法。例子 “I have a dream. I have a dream. I have a dream. I have a dream.” 匹配式 '/i/'。 上面的字串中有4個匹配結果,我只要隨機替換其中的一個。i替換成hell.My Code如下: [
Time of Update: 2016-07-14
[php] $class) { $this->$var =& load_class($class); } // 給超級控制器載入Loader組件,這個組件是它的好助手, // 很多時候你會經常用到$this->load->xxx()的形式載入某個東西, // 這個load就是控制器被構造的時候就伴隨存在的。 $this->load =&
Time of Update: 2016-07-14
PHP中擷取副檔名的N種方法 從網上收羅的,基本上就以下這幾種方式: 第1種方法:function get_extension($file){substr(strrchr($file, '.'), 1);}第2種方法:function get_extension($file){return substr($file, strrpos($file, '.')+1);}第3種方法:function get_extension($file){return
Time of Update: 2016-07-14
~/public_html/php-5.3.13/ext> wget http://pecl.php.net/get/vld-0.11.2.tgz~/public_html/php-5.3.13/ext> tar zxvf vld-0.11.2.tgz ~/public_html/php-5.3.13/ext> cd vld-0.11.2/接下來編譯安裝vld擴充: ~/public_html/php-5.3.13/ext/vld-0.11.2> phpize
Time of Update: 2016-07-14
為了讓測試回合得更快更可靠,寫測試更方便,人們通常使用Mock,而不是直接使用真正的外部依賴最近,Facebook寫了一個新的PHP Mock工具,用它寫的Mock看上去非常乾淨整潔。當使用PHP其它的Mock架構時,寫的代碼需要更多的語句,而且令測試過於依賴具體的實現細節。比如,當我們用PHPUnit做Mock,只是簡單地返回一些值時,代碼可能象下面這樣[php] $user = $this->getMock('User') ->expects($this->any())
Time of Update: 2016-07-14
使用者提交表單時可能因為網速的原因,或者網頁被惡意重新整理,致使同一條記錄重複插入到資料庫中,這是一個比較棘手的問題。我們可以從用戶端和伺服器端一起著手,設法避免同一表單的重複提交。 1.使用用戶端指令碼 提到用戶端指令碼,經常使用的是JavaScript進行常規輸入驗證。在下面的例子中,我們使用它處理表單的重複提交問題,請看下面的代碼: 當使用者單擊“提交”按鈕後,該按鈕將變為灰色不可用狀態,5-6所示。
Time of Update: 2016-07-14
1. 一般的insert$query = "INSERT INTO Profile (userName) VALUES ('{$userName}')"; $this->db->query($query); $userId = sprintf("%d", $this->db->insert_id); $this->db->commit(); 2. 資料庫中如果有,則更新,沒有則插入$query = "INSERT INTO BookRead
Time of Update: 2016-07-14
Split它會根據給定的模式拆分字串,對於使用定位字元、冒號、空白符或任意符號分隔不同欄位的字串來說,用這個操作符分解提取欄位相當方便。只要你能將分隔字元寫成模式(通常是很簡單的Regex),就可以用Split分解資料。它的用法如下: my @fields = split /separator/, $string;
Time of Update: 2016-07-14
視圖檔案[html] getCmpCat('移動到分類'),array('class'=>'s_ipt w_120 removedropcatbatch')); $remove_drop = CHtml::dropDownList('catlist','',CmpCat::model()->getCmpCat('添加到分類'),array('class'=>'s_ipt
Time of Update: 2016-07-14
使用CI來產生靜態頁面,其實很簡單,就像論壇裡面說的那樣,讀出頁面中的資料,再寫入html檔案中,最後顯示這個html檔案就行了,好吧,上碼。 [php] _m_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return)); }
Time of Update: 2016-07-14
[php] _initialize(); log_message('debug', "Hooks Class Initialized"); } // -------------------------------------------------------------------- /** * Initialize the Hooks Preferences 參數,喜好設定 * 初始化鉤子
Time of Update: 2016-07-14
[php] marker[$name] = microtime(); } // -------------------------------------------------------------------- /** * Calculates the time difference between two marked points. * 計算出兩個時間點之間的時間。 * If the first parameter
Time of Update: 2016-07-14
Regex(Regular Expression) 是尋找和替換字串模式的簡潔和靈活的標記法。重要性不再贅述,理解起來不算難,但若沒有一定的實踐,做到靈活應用還是不容易的。在php中,分為 POSIX和PCRE兩種規格的Regex。先簡單羅列出主要內容,以後再增加說明和執行個體。 一、POSIX (Portable Operating System Implementation for Unix),意為Unix可移植作業系統實現介面。1、^ 和$ 定位器2、量詞或限定詞 *
Time of Update: 2016-07-14
分頁類代碼each_disNums=intval($each_disNums); $this->nums=intval($nums); if(!$current_page){ $this->current_page=1; }else{ $this->current_page=intval($current_page); } $this->sub_pages=intval($sub_pages); $this->pageNums=ceil(
Time of Update: 2016-07-14
內容較少,以後再補充充實。1、分支結構 if() if(){}elseif(){} switch語句:switch case2、迴圈結構 break與continue while do...while for foreach迴圈3、包含控制 include()/include_once() require()/require_once() eval()
Time of Update: 2016-07-14
1、 隨即建立或隨即抽取 range() 快速建立一個指定元素數值的數組 。 舉例: range(0,6) range(0,10,2) range('a','z') shuffle() 打亂數組順序 array_rand() 指定元素個數隨即抽取。如抽取一個元素返回一個變數,抽取多個元素返回索引數組2、數組排序 sort() 按ASCII碼順序排序
Time of Update: 2016-07-14
1、定義、命名和分類 分為標量變數、陣列變數以及對象三種類型 2、列印與輸出變數 echo 語句 printf() 函數 執行個體:: printf("%d bootles of beer on %s", 100, "the wall"); printf("The %2\$s liks to %1$s", "bark","dog"); sprintf()函數
Time of Update: 2016-07-14
配置系統常量1、當檔案系統工作的時候檢查並配置這些喜好設定檔案系統啟動並執行時候這些預設的值會適當的增加系統的安全性,但是在php或apache的底層單獨的為每各使用者開一個進程的時候,使用八進位的值永遠是正確的FILE_READ_MODE 讀取檔案的模式FILE_WRITE_MODE 寫入檔案的模式DIR_READ_MODE 讀取目錄的模式DIR_WRITE_MODE 寫入目錄的模式
Time of Update: 2016-07-14
有時候需要查看so檔案,linux下直接readelf -a xxx.so 顯示elf格式的資訊,通過參數來控制顯示特定資訊readelf -d filename.so 查看共用庫的以來庫 和搜尋名字readelf -h filename.so 顯示elf頭資訊[php] rainysia@root:/usr/lib/php5/20090626# readelf -a odbc.so | more ELF Header: Magic: 7f 45 4c 46 02 01 01