Time of Update: 2016-07-21
__autoload()的用法就不再說了,以前已經在我的WEB開發筆記中說過。PHP __autoload函數(自動載入類檔案)的使用方法, 原文地址:http://www.jb51.net/article/29625.htm 。 說一說,spl_autoload_register()的用法吧,很簡單,可以這樣理解,就是聲明一個自訂__autoload(),你可以是A函數,也可以是B函數,想怎麼樣就怎麼樣,函數體的寫法,當然要和__autoload()一樣就OK 了。
Time of Update: 2016-07-21
通常變數通過下面這樣的語句來命名 : 複製代碼 代碼如下: $a = 'hello'; ?> 可變變數名指的是使用一個變數的值作為這個變數的名稱。在上面的例子中,通過使用兩個$符號,你可以把hello設定成一個變數的名稱,就像下面那樣。 複製代碼 代碼如下: $$a = 'world'; ?> 通過上面的兩個語句,有兩個變數被定義:變數$a,裝的內容是”hello” 以及變數$hello,裝的內容是 “world”。 於是,下面的語言: 複製代碼 代碼如下: echo "$a ${$a}";
Time of Update: 2016-07-21
不過,這種機制總是會給我們帶來這或那的問題,比如前段時間,我的網站上得設定一個廣告顯示的功能,就需要用到COOKIE,主要目的是為了加大廣告的轉化率,可是如果重新整理生效,就比較麻煩,所以就用了這種方法,好用。 下面是代碼: 複製代碼 代碼如下: function cookie($var, $value='', $time=0, $path='', $domain=''){ $_COOKIE[$var] = $value; if(is_array($value)){
Time of Update: 2016-07-21
返回的是一個層次比較分明的數組對象,希望對大家有所協助,來源WEB開發筆記(www.chhua.com)。 複製代碼 代碼如下: function object_to_array($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val) { $val = (is_array($val) || is_object($val)) ? object_to_array($
Time of Update: 2016-07-21
在PHP 4.2中,他們取消了那種老的做法!正如我將在這篇文章中解釋的那樣,作出這樣的變化的目的是出於安全性的考慮。我們將研究PHP在處理表單提交及其它資料時的新的做法,並說明為什麼這樣做會提高代碼的安全性。 這裡有什麼錯誤? 看看下面的這段PHP指令碼,它用來在輸入的使用者名稱及口令正確時授權訪問一個Web頁面: 複製代碼 代碼如下: // 檢查使用者名稱及口令 if ($username == 'kevin' and $password == 'secret') $authorized =
Time of Update: 2016-07-21
近期,我做了一個娛樂門戶的投票系統,也是被刷票搞的焦頭爛額,一切可用的方法都用了。但都不是太理想,最終,琢磨出來了下面的方法,我做成了流程圖與大家分享。看不懂流程的也不要鑽牛角了,本人也不做太多無聊的解釋,當然,這個流程只是一個大體的過程,中間還有很多的判斷,主要運用的還是session。因為什麼驗證碼什麼的,那你別用在互連網投票系統中來吧,沒有人去驗證,一看就煩了。還是那句話,我的WEB開發筆記中寫的全是一些簡單的思想性的東西,如果想完善,可以自己擴充。本人沒有時間解釋。以下的流程圖中,一定要
Time of Update: 2016-07-21
在使用的時候,得先把要產生摘要的內容strip_tags()一下,當然,你也可以把strip_tags()直接添加到函數中,我沒有搞,自己添加吧。下面是函數: 複製代碼 代碼如下: function cutstr($string, $length,$charset,$dot) {//字元,截取長度,字元集,結尾符 if(strlen($string) return $string; } $pre = chr(1); $end = chr(1); //保護特殊字元串 $string =
Time of Update: 2016-07-21
phpinfo() 功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。 危險等級:中 passthru() 功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。 危險等級:高 exec() 功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。 危險等級:高 system() 功能描述:允許執行一個外部程式並回顯輸出,類似於 passthru()。 危險等級:高 chroot() 功能描述:可改變當前 PHP
Time of Update: 2016-07-21
JS中encodeURIComponent函數給中文編碼後,如何用php解碼?? 前提:編碼前的中文可能是gbk,gb2312,utf-8等。 複製代碼 代碼如下: urldecode() iconv() 在JS中使用了encodeURIComponent對中文進行編碼在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中gb2312根據你實際應用來定如還不明白為什麼看下面的文章 URL編碼轉換,escape() encodeURI()
Time of Update: 2016-07-21
你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那麼警鈴就會響起 。 ----- Arthur J.Riel (1)所有資料都應該隱藏在所在的類的內部。 (2)類的使用者必須依賴類的共有介面,但類不能依賴它的使用者。 (3)盡量減少類的協議中的訊息。 (4)實現所有類都理解的最基本公有介面[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內容、從ASCII描述解析等等]。
Time of Update: 2016-07-21
廢話不多說,進去正題 做過背景,應該都知道,經常要用到iframe來處理導航,如果按一般的思路來做這個功能,還是挺簡單的 可是當我用smarty的時候,就發現了問題,比如,一個iframeset分成了:頭部top,左邊menu,右邊main, 正常情況,用smarty來處理的話,一般是這樣: 如果3個頁面僅僅只是靜態頁面的話,就是如下處理 iframe.html代碼: 複製代碼 代碼如下: 假設iframe裡面的內容頁都要應用到一些特殊處理,如:
Time of Update: 2016-07-21
介紹 裝飾者模式動態地將責任附加到對象上。若要擴充功能,裝飾者提供了比繼承更有彈性的替代方案。 思維導圖 有這樣一個項目,做一個餐廳訂餐系統。起初的代碼結構是這樣的。前面有很多Beverage的繼承類,現在遇到的問題是牛奶的價錢上漲了,那麼所有相關的類,我們都要進行調整,比如Milk,SugarAndMilk類,這種類還有很多,我們需要逐個去修改類中的方法——開發人員每次都做這種事情,要瘋了!所以我們要改變現有的結構。以下的圖都是簡圖,實際的圖,可沒有這麼簡單。 設計問題:1》類數量爆炸,
Time of Update: 2016-07-21
1. If a method c++an be static, declare it static. Speed improvement is by a factor of 4. 如果一個方法可靜態化,就對它做靜態聲明。速率可提升至4倍。 2. echo is faster than print. echo 比 print 快。 3. Use echo's multiple parameters instead of string concatenation.
Time of Update: 2016-07-21
preg_filter (PHP 5 >= 5.3.0) preg_filter — 執行一個Regex搜尋和替換 mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) preg_filter()等價於preg_replace() 除了它僅僅返回(可能經過轉化)與目標匹配的結果. 這個函數怎樣工作的更詳細資料請閱讀
Time of Update: 2016-07-21
假定MySQL伺服器和PHP伺服器都已經按照最適合的方式來配置,那麼系統的延展性(Scalability)和使用者感知效能(User-perceived Performance)是我們追求的主要目標。在實際運行中,MYSQL 中資料往往以 HASH tables、BTREE 等方式存貯於記憶體,操作速度很快;同時INDEX 已經進行了一些預排序;很多應用中,MySQL 排序是首選。 PHP與MySQL相比具有如下優勢:
Time of Update: 2016-07-21
背景、概述 早在Sql注入橫行的前幾年,字串轉化為整數就已經被列為每個web程式必備的操作了。web程式將get或post來的id、整數等值強制經過轉化函數轉化為整數,過濾掉危險字元,儘可能降低系統本身被Sql注入的可能性。 現如今,雖然Sql注入已經逐漸淡出曆史舞台,但是,為了保證web程式的正常運行,減少出錯機率,更好的保證用的滿意度,我們同樣需要將使用者的不正確輸入轉化為我們所需要的。 轉化方式 在PHP中,我們可以使用3種方式將字串轉化為整數。 1.強制類型轉換方式
Time of Update: 2016-07-21
explain主要用於sql語句中的select查詢,可以顯示的查看該sql語句索引的命中情況,從而更好的利用索引、最佳化查詢效率。 Explain文法如下:explain [extended] select ... 其中extended是選用的,如果使用的extended,那麼explain之後就可以使用show
Time of Update: 2016-07-21
一:目錄操作 首先介紹的是一個從目錄讀取的函數,opendir(),readdir(),closedir(),使用的時候是先開啟檔案控制代碼,而後迭代列出: 複製代碼 代碼如下: $base_dir = "filelist/"; $fso = opendir($base_dir); echo $base_dir."" ; while($flist=readdir($fso)){ echo $flist."" ; } closedir($fso) ?>
Time of Update: 2016-07-21
有七個魔術常量它們的值隨著它們在代碼中的位置改變而改變。例如 __LINE__ 的值就依賴於它在指令碼中所處的行來決定。這些特殊的常量不區分大小寫,如下: 名稱說明__LINE__檔案中的當前行號。__FILE__檔案的完整路徑和檔案名稱。如果用在被包含檔案中,則返回被包含的檔案名稱。自 PHP 4.0.2 起,__FILE__
Time of Update: 2016-07-21
在時間比較查詢的時候,int的效率明顯更高。祥文見http://www.jb51.net/article/29767.htm 但是在做項目的時候或者直接在資料庫查看資料的時候,明顯這個int一看頭就大,比如我們想 要查看一個使用者的註冊時間: select reg_time from t_xx_users where user_id=1; 這時候返回是個int值,不能直觀的看到具體的時間,所以這時候就涉及到datetime和int的轉化問題,