Time of Update: 2016-07-13
我們的資料未必都是儲存在資料庫中,很多時候是用數組來組織的。所以擷取數組資料,進行分頁是比較常見的編程要求。分頁的原理很簡單,就是按分頁數擷取某個範圍的資料而已,PHP給我們提供了一個很便利的函數:array_slice()。array_slice() 函數在數組中根據條件取出一段值,並返回。下面舉兩個分頁例子,都很簡單。public function books($pagenum =
Time of Update: 2016-07-13
當我們需要將一個數組根據某個字元或字串進行分割成數組的時候,explode()函數很好用,但是你知道explode()是怎麼工作的嗎?截取字串的問題,都會避免不了重新分配空間的消耗,explode也是會分配空間的,毫無疑問。//檔案1:ext/standard/string.c//先來看下explode的原始碼PHP_FUNCTION(explode){char *str, *delim;int str_len = 0, delim_len = 0;long limit = LONG_MAX;
Time of Update: 2016-07-13
一個小小的換行,其實在不同的平台有著不同的實現,為什麼要這樣,可以是世界是多樣的。本來在unix世界換行就用/n來代替,但是windows為了體現他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,這樣就用你寫的程式在不同的平台上運行有著不少的麻煩。下面是PHP去除分行符號的一些常見方法。第一種寫法:$content=str_replace("\n","",$content); echo $content; 第二種寫法:
Time of Update: 2016-07-13
最近做了一個投票,需要做防刷票措施。但是刷票很難防止,畢竟手段也多。為了最大程度上阻止刷票行為,就用了這麼一個方法。首先在前台頁面定義一個字串'www.bkjia.com',然後使用discuz的 authcode 函數,產生一串密文。這串密文每次都不一樣,比如會產生10884NwIMCg5nDZ24rarNv+nBpsWut6ReT1grxHH4oKSdvgPmXJ0z2jEuePCea8b4XU3yBHEec48KirVf0N3VAXKIQHm1qvwvpCYUu6ywwQJLR0ErlI1
Time of Update: 2016-07-13
今天在遇到了一個中英字串截取的問題,在gbk裡中文裡每個字佔兩位元組,如果全是中文的話,用substr()函數就可以實現了,但中英都有的話就麻煩了,在以前收藏的代碼裡找到了一個不錯的函數,很好的實現了截取的功能:function get_word($string, $length, $dot = '..',$charset='gbk') { if(strlen($string) '), array('','','&', '"', ''), $string); $strcut
Time of Update: 2016-07-13
算24點遊戲大家都玩過吧,那麼怎麼用程式來計算4個數的隨意運算組合得到的結果是24呢?比如,5,5,5,1這四個數,如何湊才能得到結果為24?下面介紹一個很強悍的程式,可以將合格所有組合列出來。 "; makeValue($values); print_r($list);function makeValue($values, $set=array()) { $words = array("+", "-", "*", "/"); if(sizeof($values)==1) { $set[]
Time of Update: 2016-07-13
關於php的引用(就是在變數或者函數、對象等前面加上&符號)的作用,我們先看下面這個程式。 "; echo "$b ";$a++; //變數a自增1echo "$a ";echo "$b ";//查看變數b,也增加了1,說明使用的是同一儲存單元?> 程式運行結果: 100 100 101 101
Time of Update: 2016-07-13
HostMonster網站程式一般無法發送郵件,因為連接埠25阻塞了。許多ISP屏蔽了連接埠25的使用,而該連接埠是用來發送郵件的。他們這樣做是為了減少垃圾郵件的發送量。所有通過Internet發送的 e-mail 都要通過連接埠25, 該通道用來進行e-mail 用戶端和 e-mail伺服器之間的通訊。雖然連接埠25屏蔽很可能成為一個工業標準,但是過濾器會給
Time of Update: 2016-07-13
緩衝在實際使用當中應用很廣泛,可以減輕對伺服器資料庫的訪問,提高運行速度。目前很多CMS內容管理系統中頻繁使用緩衝機制來提高系統啟動並執行效率。下面是一個寫得不錯的緩衝類,可以參考下緩衝的機制與寫法。cache.php 代碼如下:cachefilevar 及檔案名稱 $this->cachefile //動態網頁的參數不同對應的Cache檔案也不同,但是每一個動態網頁的所有Cache檔案都有相同的檔案名稱,只是副檔名不同 $s=array(".","/");$
Time of Update: 2016-07-13
PHP 5 添加了類似於其它語言的異常處理模組。在 PHP 代碼中所產生的異常可被 throw 語句拋出並被 catch 語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。使用多個 catch 可以捕獲不同的類所產生的異常。當 try 代碼塊不再拋出異常或者找不到 catch 能匹配所拋出的異常時,PHP 代碼就會在跳轉到最後一個 catch 的後面繼續執行。當然,PHP 允許在 catch
Time of Update: 2016-07-13
背景:Cakephp開發環境版本是2.3.8,伺服器的cakephp版本是2.3.5,測試好的代碼上傳到伺服器上後發現總爆如下的警告:Warning (2): strtolower() expects parameter 1 to be string, array given [CORE\Cake\Network\CakeRequest.php, line 478]經過比對2.3.8和2.3.5發現,2.3.8比2.3.5的function is多了如下的代碼: (( = ((,
Time of Update: 2016-07-13
優秀的PHP代碼應該是結構化的。大段的代碼應該被分割整理成一個個函數、方法,而那些不起眼的小段代碼則應該加上注釋,以便日後清楚它們的用途。而且應該儘可能地把前台代碼如HTML、CSS、Javascript等從程式中分離出來。PHP的物件導向編程特性可以很好地協助程式員將代碼整理有序。 優秀的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
返回數組資料。文法: array sybase_fetch_array(int result);傳回值: 數組函數種類: 資料庫功能內容說明 本函數用來將查詢結果 result 拆到陣列變數中。若 result 沒有資料,則返回 false 值。而本函數可以說是 sybase_fetch_row() 的加強函數,除可以將返回列及數字索引放入數組之外,還可以將文字索引放入數組中。使用範例 這是 joey@samaritan.com (22-Feb-1999) 所提出的例子執行個體1:複製代碼
Time of Update: 2016-07-13
PHP5.5 在windows下安裝 memcached 的方法 下載服務端資源 http://download.csdn.net/detail/zsjangel/7104727 下載完成後,解壓(我用的是 64位的,32位版本的我沒有嘗試過,應該沒有問題),進入 DOS 命令列 先 cd 到解壓後的目錄 然後執行服務註冊命令 memcached.exe -d install 卸載服務命令memcached.exe -d
Time of Update: 2016-07-13
在php5.3環境下有時會出現Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...這些類型的報錯提示。PHP 5.3 ereg() 無法正常使用,提示“Function ereg() is deprecated
Time of Update: 2016-07-13
PHP程式設計中中文編碼問題曾經困擾很多人,導致這個問題的原因其實很簡單,每個國家(或地區)都規定了電腦資訊交換用的字元編碼集,如美國的擴充 ASCII 碼, 中國的 GB2312-80,日本的 JIS 等。作為該國家/地區內資訊處理的基礎,字元編碼集起著統一編碼的重要作用。字元編碼集按長度分為 SBCS(單一位元組字元集),DBCS(雙位元組字元集)兩大類。早期的軟體(尤其是作業系統),為瞭解決本地字元資訊的電腦處理,出現了各種語言版本 (L10N),為了區分,引進了 LANG,
Time of Update: 2016-07-13
轉載請註明來自souldak,微博:@evagle以前對session和cookie其實還是模模糊糊的,今天用yii架構的時候遇到 session_regenerate_id(): Session object destruction
Time of Update: 2016-07-13
PHP 跳轉,即重新導向瀏覽器到指定的 URL,是一個很常見的功能。這種功能也有一些細節性的要求,比如等待多少秒以後跳轉,用不用JavaScript實現跳轉,等等。下面的跳轉方法考慮到很多,並參數化,可以用到具體的項目當中。 0) { echo EOT; exit;
Time of Update: 2016-07-13
301轉向定義301轉向(或叫301重新導向,301跳轉)是當使用者或搜尋引擎向網站伺服器發出瀏覽請求時,伺服器返回的HTTP資料流中頭資訊(header)中的狀態代碼的一種,表示本網頁永久性轉移到另一個地址。其它常見的狀態代碼還包括,200表示一切正常,404網頁找不到,302暫時轉向,等等。網站做轉向的方法網址轉向方法主要包括:301轉向,302轉向,JavaScript轉向,PHP/ASP/CGI轉向,META