夜光帶你走進php(5)

夜光序言:

 

我見到那些落葉,從樹幹上飄落,躺在土地之上,也許它的一生從此刻走向滅亡;也許它的一生從此刻開始。我不明白我何以如此喜歡用落葉來渲染情緒,大概是因爲我也像一片落葉吧,漂泊在這個世界的某個角落,我不清楚此刻的歲月是凋零還是新生。

 

 

 

 

 

正文:2.4  HTTP Cookie的支持

PHP 支持基於HTTP的Cookies。

在需要時可以像使用一般變量一樣方便地使用    Cookie。

Cookies是瀏覽器保存於客戶端的一些信息片段,由此可以知道某一臺某特定PC上的人是否訪問過用戶的站點及瀏覽者在網站上的蹤跡等。使用Cookies的典型例子就是對瀏覽者偏好的辨別。

 

Cookies由函數setcookie()設定。

與輸出HTTP標頭的函數header()一樣,setcookie()必須在任何實際內容輸出到瀏覽器之前調用。以下是一個簡單例子:


<?
if(empty($VisitedBefore))
{
//如果沒有設定cookie,爲cookie賦上當前時間值
//函數中的最後一個參數聲明瞭該cookie保存的時間
//在這個例子中是1年
//time()函數返回自1970年1月1日以來的以秒數計的時間
SetCookie("VisitedBefore", time()+ (60*60*24*365));
}

else
{
//歡迎瀏覽者再次光臨
echo "Hello there, welcome back <BR>";
//讀取cookie並判斷
if((time()-$VisitedBefore)>= "(60*60*24*7)")
echo "Why did you take a week to come back.You should be here more oftett?";
}
      ?>

 

 


 

比較來說PHP 4.0是更有效的,更可靠的動態Web頁開發工具,在大多數情況運行比    PHP 3.0快,其腳本描述更強大並且更復雜,最顯著的特徵是速率比的增加。PHP 4.0這些優異的性能是PHP腳本引擎重新設計產生的結果:引擎由AndiGutmans和ZeevSuraski從底層全面重寫。PHP 4.0腳本引擎——Zend引擎使用了一種更有效的“編譯—執行”範式,而不是PHP 3.0採用的“執行—當解析時”模型。PHP 4.0在3.0版的基礎上增加或增強了許多有用的特性,主要列舉如下:

別名:在PHP 4.0中,可以利用引用爲變量賦值,這給編程帶來了很大的靈活性。
    (1)擴充了API模塊:PHP 4.0爲API模塊提供了擴展PHP接口模塊,它比舊API版本顯著地加快。PHP模塊已有的及最常用的接 口多數被轉換爲使用這個擴展的接口。
    (2)自動資源釋放:PHP 4.0增加了引用計數功能,這種新技術的引入使PHP 4.0具有了自動管理內存功能,減輕了開發人員的負擔。
    (3)布爾類型:PHP 4.0支持布爾類型。
    (4)進程生成:在UNIX環境下的PHP 4.0提供了一個很智能和通用的生成進程,使用了一種基於automake/1ibtool的系統生成技術。


(5)COM/DCOM支持:PHP 4.0提供COM/DCOM支持(僅用於Windows環境)可以無縫地存取和訪問COM對象。
(6)與PHP3.0有很好的兼容性:PHP 4.0與PHP 3.0代碼向後兼容性接近100%。
(7)配置:PHP 4.0重新設計和增強了php.ini文件,這使得用php.ini來配置PHP顯得極爲容易,全部文件能被Apache在運行時間操作(在Apache環境下)或由Windows註冊表(在Windows下面)操作。被加入php.ini文件的配置指令自動地在所有相關的模塊中被支持。
  (8)加密支持:PHP 4.0實現了完整的加密,這些加密功能是一個完整的mycrypt庫,   並且PHP 4.0支持哈希函數、Blowfish、Triple DES、MD5,而且SHAl也是可使用的一些加密算法。

(9)類型檢查:PHP 4.0支持同一操作符用於類型檢查:“= = =”(3等號運算符),爲在兩個值和其類型之間作檢查。例如,“3”= = =3將視爲假(類型是不同的),而“3”= = 3 (相等判斷)將視爲真。
      (10)FTP支持:PHP 4.0支持FTP。通常,用戶會爲通過調制解調器連接下載一個大文件提供一個網接口。此時如果需要,可以用PHP。
   (11)PHP 4.0新增函數或功能增強函數:PHP 4.0新增了許多函數,同時也將許多現有    的函數功能進行了增強,例如,array count_values()、eval()、foreach()、nclude()、    ob_end_clean()、ob_end_flush0、ob_get_contents()、ob_start()、strip_tags()、unset()。

(12)HTTP Session fallback系統:爲HTTP Session管理的一個fallback系統在PHP 4.0    被實現。默認情況下,Session標識符由Cookies存儲。如果沒有Cookies支持或一項    Cookies任務失敗,Session標識符自動被創建並在URL的查詢字符串中被攜帶。
 (13)ISAPl支持:PHP 4.0能作爲一個個性化的ISAPI模塊而成爲IIS插件。這比PHP 3.0作爲CGI運行(一個外部的程序)更爲有效。
 (14)內存使用:PHP 4.0能更有效地使用內存,較少的內存佔用和消耗,這主要歸功   於引用計數技術的實現。
      (15)其他類成員函數:在PHP 4.0中能在成員函數本身的作用域或全局範圍內調用其    他類的成員函數。例如,用一個子函數覆蓋父函數,並在子函數中調用父函數。

 

(16)多維數組:在PHP 4.0中,利用GET、POST、Cookies進行的數據傳輸支持多維數組。
 (17)個性化的HTTP Session支持:HTTP Session處理,包括fallback系統管理,在    PHP 4.0中被它的新庫函數實現。在PHP3.0中處理Session要求使用PHPLIB和第三方的    庫函數,這比把Session直接由PHP支持慢了許多。
 (18)個性化的Java支持:PHP4.0支持與Java的交互。這種個性化的Java支持爲PHP    在Java對象上創建和使用方法提供一個簡單並且有效的工具。
   (19)對象和嵌套數組:PHP 4.0實現了功能更加強大的對象,移去了PHP 3.0中存在的句法限制。對象能在數組內嵌套,同樣數組也能在對象內嵌套,可以根據你的需要實現。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章