Time of Update: 2016-07-13
如果你的網站MySQL資料庫的速度比較慢,你就需要看重網站的緩衝了。用過 WordPress 的朋友都知道,它有一個外掛程式叫 WP Super Cache, 可以將 WordPress 的頁面在第一次產生時儲存成靜態頁面,當再次請求這個頁面時,就省去了讀取資料庫的時間。這裡討論的就是這種技術。 第一個問題就是怎樣擷取 PHP 輸出的內容了。擷取輸出內容的原因很簡單,因為我們可以把輸出的內容儲存起來,當訪客再次光臨的時候就把事先存好的內容給他。
Time of Update: 2016-07-13
介紹兩種方法吧,首先請把以下代碼儲存為safe.php放在網站根目錄下,然後在每個php檔案前加include("/safe.php");即可: php防注入代碼方法一: $value){if (eregi($value,$StrFiltrate)){return true;}}return false;}//合并$_POST 和
Time of Update: 2016-07-13
opendir() 函數 opendir() 函數開啟一個目錄控制代碼,可由 closedir(),readdir() 和 rewinddir() 使用。 若成功,則該函數返回一個目錄流,否則返回 false 以及一個 error。可以通過在函數名前加上 "@" 來隱藏 error 的輸出。 文法為 opendir(path,context)。 參數 path,必需。規定要開啟的目錄路徑。 參數
Time of Update: 2016-07-13
最近在搞帝國CMS,如果文章包含圖片,或者文章是置頂的,需要在列表的題頭顯示相應的標識,後來用靈動標籤實現了,這裡記錄一些,估計會有不少人會用到。 我們以3天內的發布為條件輸出帶 new 表徵圖的資訊(首頁模板上的靈動標籤格式):[e:loop={欄目ID,顯示條數,操作類型,只顯示有標題圖片}]" title="" target="_blank">[/e:loop]
Time of Update: 2016-07-13
在 php 中使用 json_encode() 內建函數(php > 5.2)可以使用得 php 中資料可以與其它語言很好的傳遞並且使用它。 這個函數的功能是將數值轉換成json資料存放區格式。 '希亞', 'Age'=>20 );$jsonencode = json_encode($arr);echo $jsonencode;?> 程式運行結果如下: {"Name":null,"Age":20} json_encode 函數中中文被編碼成
Time of Update: 2016-07-13
眾所周知,OOP的目的就是了把一個次編寫代碼,複製複製再複製,繼承繼承再繼承的合理利用每一次的工作,同時也方便代碼管理。哪個環節出錯了就去找哪個環節。但是有時候我們寫的類,最終發現它只使用了一次,並沒有產生多個的執行個體。這個時候再去new, 不僅影響效率,代碼也顯得不夠簡潔。 所以非常感性的php,為我們提供了一種便捷高效的方法 static 有了它以後這些統統不再是問題。 下面鄙人為大家講講static 的使用方法和特性。 hello world: class hw{
Time of Update: 2016-07-13
物件導向的概念 物件導向編程(Object Oriented Programming, OOP,
Time of Update: 2016-07-13
PclZip是一個很強大的壓縮與解壓縮zip檔案的PHP類,PclZip
Time of Update: 2016-07-13
在設計一些系統的時候,經常需要給使用者進行操作提示。這種提示很重要,友好的提示能夠提升使用者對系統的好感度。操作提示有很多設計,下面是我的一個簡陋的方案,僅拋磚引玉。 操作提示類:tips_class.php tips = "$string返回 (4秒後自動返回)";return $this->tips;}public function __toString(){ return $this->tips; }private function
Time of Update: 2016-07-13
修改php中的session到期時間可以修改php設定檔php.ini中的session.gc_maxlifetime即可。 當php每發出一次請求時,會有1/100的機率(預設值)觸發"session回收"。如果"session回收"發生,那就會檢查/tmp/sess_*的檔案,如果最後的修改時間到現在超過了1440秒(gc_maxlifetime的值),就將其刪除,意味著這些session到期失效。 session在server端(一般是Apache with PHP
Time of Update: 2016-07-13
1、“+”運算子規則:當兩個數組的鍵名是數字鍵名或者字串鍵名可以直接 +,$c = $a + $b,在$a後追加($b在$a中不存在的鍵名)鍵名和值。注意:不覆蓋,只是追加不存在的鍵名和對應的值。鍵名不重新索引。無論是全部數字鍵名還是混合,都只是追加鍵名和值,如果鍵名相同則不進行追加,即把最先出現的值作為最終結果返回。 string(5) "apple" [1]=> string(6) "banana" }?>數字鍵名:'a' );$b = array( 60=>'u', 66=>'c' );$
Time of Update: 2016-07-13
用了兩天php的Snoopy這個類,發現很好用。擷取請求網頁裡面的所有連結,直接使用fetchlinks就可以,擷取所有文本資訊使用fetchtext(其內部還是使用Regex在進行處理),還有其它較多的功能,如類比提交表單等。使用方法:先下載Snoopy類,下載地址:http://sourceforge.net/projects/snoopy/先執行個體化一個對象,然後調用相應的方法即可擷取抓取的網頁資訊樣本:include 'snoopy/Snoopy.class.php';
Time of Update: 2016-07-13
PHP ob_start()函數是一個功能強大的函數,可以協助我們處理許多問題。Output Control 函數可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於:當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函數不對使用header() 或setcookie(), 發送的檔案頭資訊產生影響,只對那些類似於echo() 和PHP
Time of Update: 2016-07-13
php的引用就是在變數或者函數、對象等前面加上&符號。在PHP 中引用的意思是:不同的名字訪問同一個變數內容。與C語言中的指標是有差別的,C語言中的指標裡面儲存的是變數的內容在記憶體中存放的地址。 變數的引用 PHP 的引用允許你用兩個變數來指向同一個內容。 函數的傳址調用 傳址調用我就不多說了,下面直接給出代碼: function test(&$a) { $a=$a+100; } $b=1; echo $b;//輸出1test($b)
Time of Update: 2016-07-13
需求:要抓取某個頁面的一部分內容,然後iframe到別的頁面去。iframe的時候,不需求每次都訪問源頁面,而是每天唯讀取源頁面一次,並組建檔案,iframe的時候只訪問該暫時檔案,也就是偽緩衝啦。這麼做適合訪問量不大的頁面,降低資料庫訪問壓力。 程式設計如下: 導航', $cssarray[0]);$css_min = explode('', $css_rem_inner[0]);$str_css = $css_min[0];$head = ' ';$str_1 =
Time of Update: 2016-07-13
為什麼要謹慎使用PHP中的常量?Zend Framework文檔中寫道:常量包含數字字母字元和底線,數字允許作為常量名。 常量名的所有字母必須大寫。類常量必須通過 "const" 定義為類的成員,強烈不鼓勵使用 "define" 定義的全域常量。作為PHP的官方架構,為什麼會有這樣的要求?讓我們一起分析一下吧。1. define容易產生意想不到的錯誤PHP常量是定義後就不能修改和再次賦值。但是如果再次賦值會怎麼樣?
Time of Update: 2016-07-13
strstr() 函數搜尋一個字串在另一個字串中的第一次出現。該函數返回字串的其餘部分(從匹配點)。如果未找到所搜尋的字串,則返回 false。 文法:strstr(string,search) 參數string,必需。規定被搜尋的字串。 參數search,必需。規定所搜尋的字串。如果該參數是數字,則搜尋匹配數字 ASCII 值的字元。 該函數對大小寫敏感。如需進行大小寫不敏感的搜尋,
Time of Update: 2016-07-13
前一段時間做了一個圖片上傳的小程式,今天有人說jpg圖片上傳不了。我在本地Chrome、Firefox測了下,發現沒有問題,上傳正常。我問他用什麼瀏覽器,原來是世界之窗、還有360......我囧。我想,是不是IE的問題?於是我在IE下測了,果然不行。原來的程式如下: switch($type){case "image/jpeg":$resultImage = imagecreatefromjpeg($original);imagejpeg($resultImage, $target, $
Time of Update: 2016-07-13
CGICGI全稱是“公用網關介面”(Common Gateway Interface),HTTP伺服器與你的或其它機器上的程式進行“交談”的一種工具,其程式須運行在網路伺服器上。CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。如php,perl,tcl等。FastCGIFastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著,只要啟用後,不會每次都要花費時間去fork一次(這是CGI最為人詬病的fork-and-execute
Time of Update: 2016-07-13
今天回顧學習了PHP中變數實現的方法,在瀏覽其源碼是發現在PHP中所有的資料類型通過一個union儲存。php語言是弱類型語言,其實現中通過記錄變數的類型和值來實現其管理。 PHP中使用最多的非Array莫屬了,那Array是如何?的?在PHP內部Array通過一個hashtable來實現,其中使用連結法解決hash衝突的問題,這樣最壞情況下,尋找Array元素的複雜度為O(N),最好則為1. 而其計算字串hash值的方法如下,將源碼摘出來以供查備:static