Time of Update: 2016-07-13
在PHP中數組分為兩類: 數字索引數組和關聯陣列。其中數字索引數組和C語言中的數組一樣,下標是為0,1,2…而關聯陣列下標可能是任意類型,與其它語言中的hash,map等結構相似。 下面介紹PHP中遍曆關聯陣列的三種方法: foreach 'good', 'swimming' => 'very well', 'running' => 'not good');foreach ($sports as $key => $value) { echo
Time of Update: 2016-07-13
Zend_Controller_Router_Rewrite是標準的架構路由器。路由是個過程,在這個過程中它取出URI的端點(跟著基本URL的URI的那部分)並把它分解成參數來決定哪個模組、哪個控制器和控制器中的哪個動作應該接受請求。模組、控制器、動作和其它參數被打包到Zend_Controller_Request_Http對象,接著這個對象由Zend_Controller_Dispatcher_Standard來處理。路由只發生一次:當請求最初被接收和第一個控制器被派遣之前。 Zend_
Time of Update: 2016-07-13
瀏覽器和伺服器之間只有一種面向不需連線的HTTP協議進行通訊的,面向不需連線的程式的特點是用戶端請求服務端,服務端根據請求返回相應的程式,不能保持持久串連。這樣就出現了一個問題,一個用戶端的相應服務端可能執行1秒也有可能執行1分鐘,這樣瀏覽器就會一直處於等待狀態,如果程式執行緩慢,使用者可能就沒耐心關掉了瀏覽器。而有的時候我們不需要關心程式執行的結果,沒有必要這樣浪費時間和耐心等待,那我們就要想出辦法讓程式不收等待在後台靜默執行。比如現在有一個情境,給1000個使用者發送一封推薦郵件,使用者輸入
Time of Update: 2016-07-13
自動載入的原理是Zend_Application執行個體了Zend_Loader_Autoloader,使其調用了spl_autoload_register(array(__CLASS__, 'autoload')); 這樣如果找不到的類就會調用此對象的autoload方法進行處理。 一個名稱空間可以有多個載入器,迭代找出符合的自訂載入器後,其餘的就不會使用了,一般我們只會針對一個名稱空間註冊一個自訂載入器或者直接使用預設的載入器。 註冊名稱空間方式分為兩種:
Time of Update: 2016-07-13
在 J2EE
Time of Update: 2016-07-13
在PHP網站開發過程中會遇到很多需要轉義的地方,下面推薦幾個很好的函數,可以很好地增強網站的輸入輸出正常化問題。1. 純文字輸出,適合inputfunction t($text){$text = h($text);$text = strip_tags($text);return $text;}2. 多行純文字 適合textareafunction text($text){ return trim(nl2br(str_replace(' ', ' ',
Time of Update: 2016-07-13
其實zend做的只是把一個超級牛的專業phper的全部知識打包成一個程式包,提供給大家使用。當然這個phper的習慣不一定符合你的需求,只拿需要的內容吧。 這些都看過之後,可以自己挑部分源碼出來,做自己專屬的zend framework應用,或者專門做MVC的zend framework。 Zend_Acl Access control list
Time of Update: 2016-07-13
雖然PHP有現成的截取字串函數substr(),但是這個函數不能對漢字字串進行截取,要實現這種效果還需要我們自己去編寫相應的函數。漢字有多種編碼,比如GB2312,UTF-8等,漢字字串的截取需要區分這種漢字編碼,下面是給出的幾個解決方案。 截取GB2312中文字串 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } else $tmpstr .=
Time of Update: 2016-07-13
為了防止某些人將 exe 之類的可執行檔上傳到伺服器,我們可以編寫程式判斷上傳檔案的類型,然後不符合類型的檔案將會拒絕上傳。 下面是實現這一功能的 PHP 程式: function ($file_name, $pass_type = array('jpg','jpeg','gif','bmp','png') ){ // 允許檔案類型的尾碼組成的數組 $file = $pass_type; // 截取上傳檔案的檔案名稱的尾碼 $kzm =
Time of Update: 2016-07-13
雖然PHP內建的函數庫很強大,但是在日常很多情況下,我們也還得自己寫自訂的函數去實現某些功能與需求。下面收集了一些比較實用的、解決一些常見需求的自訂函數,比如將網址字串轉換成超級連結、列出目錄內容、驗證郵件地址等等,如果你覺得好,可以收藏本頁,方便以後翻閱~1. PHP可閱讀隨機字串此代碼將建立一個可閱讀的字串,使其更接近詞典中的單詞,實用且具有密碼驗證功能。/************** *@length - length of random string (must be a
Time of Update: 2016-07-13
說在前面: 以下題目,除了編程任務外其他都需要寫在給你提供的草紙上。紙張是珍貴的地球資源,請節約使用。編程任務在有相應的環境時,會要求上機書寫,實在沒有條件,就只能寫在草紙上了。 時間:基礎任務+進階任務+設計任務 = 90分鐘,編程任務 = 60分鐘。 基礎任務: 請列舉你能想到的UNIX訊號,並說明訊號用途。 請列舉、你能想到的所有的字串尋找演算法,並加註釋簡單說明。 有一個IP地址(192.16
Time of Update: 2016-07-13
php使用引用計數和寫時複製(copy-on-write)來管理記憶體。引用計算確保在引用不再需要時將記憶體返回給作業系統,寫時複製確保在變數之間複製值時不浪費記憶體。要理解PHP中的記憶體管理,必須首先理解符號表(symbol
Time of Update: 2016-07-13
項目中有這麼一個需求,需要遍曆某個檔案夾(目錄)下的所有檔案。下面是解決這個問題所寫的PHP代碼,在這裡記錄一下。 第一種實現辦法是用dir返回對象,第二種實現辦法:用readdir()函數。 \n"; while($file = $mydir->read()){ if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) {echo "$file\n"; tree("$directory/$file")
Time of Update: 2016-07-13
在這個程式中,建立了兩個類,一個是通用的Product類,它封裝了一個產品和產品的屬性,另一個是購物車的Cart類。 Product類(Product.php) 商品類有三個屬性,分別是編號、描述和價格。 class Product{protected $_partNumber, $_description, $_price; public function __construct($parNumber,$description,$price){
Time of Update: 2016-07-13
PHP setcookie() 函數向用戶端發送一個 HTTP cookie。cookie 是由伺服器發送到瀏覽器的變數。cookie 通常是伺服器嵌入到使用者電腦中的小文字檔。每當電腦通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變數。例如,如果被發送的 cookie 名為 "name",會自動建立名為 $user 的變數,包含 cookie 的值。 必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回
Time of Update: 2016-07-13
PHP從誕生以來就受到廣大編程愛好者的喜歡,成為中小站長的好幫手,並培養了大量的PHP編程人員,但是隨著PHP的應用越發廣泛,很多時候已不限於從事中小網站的應用,一些大型PHP項目也屢見不鮮。當我們選擇PHP開發大型項目時,就不得不考慮開發效率、開發規範、後期維護等問題,這時大家往往會選擇一款人們所認可的開發架構,目前所流行的Zend
Time of Update: 2016-07-13
PHP發送郵件的小程式很簡單,不過有些需要注意的地方。先上代碼: '; $content .= ''; $content .= "感謝您註冊珠海生活圈,精彩的生活從珠海生活圈開始!".''; $content .= "在珠海生活圈,您可以:".''; $content .= "查詢珠海的商家情況,方便您生活與娛樂。".''; $content .= "瞭解最近珠海舉行的活動,讓您的生活更加豐富。".''; $content .= "瀏覽新聞熱點,擴充知識面。".''; $
Time of Update: 2016-07-13
PHP foreach() 文法結構用於遍曆操作或輸出數組,foreach() 僅能用於遍曆數組或對象,當試圖將其用於其它資料類型或者一個未初始化的變數時會產生錯誤。文法:foreach (array as $value) statement// 或者:foreach (array as $key => $value) statement上述文法中,每次迴圈將當前單元的值賦給 $value 並且數組內部的指標向前移一步。在第二種文法格式中還將當前單元的鍵名也會在每次迴圈中賦給變數 $
Time of Update: 2016-07-13
今天遇到一個問題,運行下面代碼時報錯。 錯誤資訊為: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\PHPProjects\agilelite\index.php:1) in D:\PHPProjects\agilelite\index.php on line
Time of Update: 2016-07-13
在使用PHP的OO模式開發系統時,通常大家習慣上將每個類的實現都存放在一個單獨的檔案裡,這樣會很容易實現對類進行複用,同時將來維護時也很便利。這也是OO設計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。下面是一個實際的例子: /* Person.class.php */name = $name; $this->age = $age; }}?>/* no_autoload.php */