-
區(qū)別for循環(huán)與foreach循環(huán)
查看全部 -
通過(guò)filesize函數(shù)可以取得文件的大小,文件大小是以字節(jié)數(shù)表示的。
查看全部 -
session_destroy()銷毀session
查看全部 -
preg_match用于執(zhí)行一個(gè)正則匹配
查看全部 -
屬性的重載通過(guò)__set,__get,__isset,__unset來(lái)分別實(shí)現(xiàn)對(duì)不存在屬性的賦值、讀取、判斷屬性是否設(shè)置、銷毀屬性
方法的重載通過(guò)__call來(lái)實(shí)現(xiàn),當(dāng)調(diào)用不存在的方法的時(shí)候,將會(huì)轉(zhuǎn)為參數(shù)調(diào)用__call方法,當(dāng)調(diào)用不存在的靜態(tài)方法時(shí)會(huì)使用__callStatic重載。
查看全部 -
同樣,PHP5支持析構(gòu)函數(shù),使用__destruct()進(jìn)行定義,析構(gòu)函數(shù)指的是當(dāng)某個(gè)對(duì)象的所有引用被刪除,或者對(duì)象被顯式的銷毀時(shí)會(huì)執(zhí)行的函數(shù)。
查看全部 -
對(duì)象復(fù)制,在一些特殊情況下,可以通過(guò)關(guān)鍵字clone來(lái)復(fù)制一個(gè)對(duì)象,這時(shí)__clone方法會(huì)被調(diào)用,通過(guò)這個(gè)魔術(shù)方法來(lái)設(shè)置屬性的值。
對(duì)象序列化,可以通過(guò)serialize方法將對(duì)象序列化為字符串,用于存儲(chǔ)或者傳遞數(shù)據(jù),然后在需要的時(shí)候通過(guò)unserialize將字符串反序列化成對(duì)象進(jìn)行使用。
查看全部 -
靜態(tài)方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內(nèi)部調(diào)用靜態(tài)方法與屬性,在實(shí)例的方法中也可以這么使用
查看全部 -
PHP5可以在類中使用__construct()定義一個(gè)構(gòu)造函數(shù),具有構(gòu)造函數(shù)的類,會(huì)在每次對(duì)象創(chuàng)建的時(shí)候調(diào)用該函數(shù),因此常用來(lái)在對(duì)象創(chuàng)建的時(shí)候進(jìn)行一些初始化工作。
查看全部 -
PHP支持哪些數(shù)據(jù)庫(kù)
PHP通過(guò)安裝相應(yīng)的擴(kuò)展來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作,現(xiàn)代應(yīng)用程序的設(shè)計(jì)離不開(kāi)數(shù)據(jù)庫(kù)的應(yīng)用,當(dāng)前主流的數(shù)據(jù)庫(kù)有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等,這些數(shù)據(jù)庫(kù)PHP都能夠安裝擴(kuò)展來(lái)支持,一般情況下常說(shuō)的LAMP架構(gòu)指的是:Linux、Apache、Mysql、PHP,因此Mysql數(shù)據(jù)庫(kù)在PHP中的應(yīng)用非常廣泛,我們會(huì)在本章中簡(jiǎn)單的了解Mysql的操作方法。
查看全部 -
對(duì)象序列化,可以通過(guò)serialize方法將對(duì)象序列化為字符串,用于存儲(chǔ)或者傳遞數(shù)據(jù),然后在需要的時(shí)候通過(guò)unserialize將字符串反序列化成對(duì)象進(jìn)行使用。
查看全部 -
PHP文件系統(tǒng)之判斷文件是否存在 一般情況下在對(duì)文件進(jìn)行操作的時(shí)候需要先判斷文件是否存在,PHP中常用來(lái)判斷文件存在的函數(shù)有兩個(gè)is_file與file_exists. $filename = './test.txt'; if (file_exists($filename)) { echo file_get_contents($filename); } 如果只是判斷文件存在,使用file_exists就行,file_exists不僅可以判斷文件是否存在,同時(shí)也可以判斷目錄是否存在,從函數(shù)名可以看出,is_file是確切的判斷給定的路徑是否是一個(gè)文件。 $filename = './test.txt'; if (is_file($filename)) { echo file_get_contents($filename); } 更加精確的可以使用is_readable與is_writeable在文件是否存在的基礎(chǔ)上,判斷文件是否可讀與可寫(xiě)。 $filename = './test.txt'; if (is_writeable($filename)) { file_put_contents($filename, 'test'); } if (is_readable($filename)) { echo file_get_contents($filename); } 任務(wù) 判斷如果$filename文件存在的話 就輸出“文件存在” index.php <?php $filename = '/data/webroot/usercode/code/resource/test.txt'; //判斷如果$filename文件存在的話 就輸出文件內(nèi)容 本節(jié)編程練習(xí)不計(jì)算學(xué)習(xí)進(jìn)度,請(qǐng)電腦登錄imooc.com操作查看全部
-
刪除與銷毀session 刪除某個(gè)session值可以使用PHP的unset函數(shù),刪除后就會(huì)從全局變量$_SESSION中去除,無(wú)法訪問(wèn)。 session_start(); $_SESSION['name'] = 'jobs'; unset($_SESSION['name']); echo $_SESSION['name']; //提示name不存在 如果要?jiǎng)h除所有的session,可以使用session_destroy函數(shù)銷毀當(dāng)前session,session_destroy會(huì)刪除所有數(shù)據(jù),但是session_id仍然存在。 session_start(); $_SESSION['name'] = 'jobs'; $_SESSION['time'] = time(); session_destroy(); 值得注意的是,session_destroy并不會(huì)立即的銷毀全局變量$_SESSION中的值,只有當(dāng)下次再訪問(wèn)的時(shí)候,$_SESSION才為空,因此如果需要立即銷毀$_SESSION,可以使用unset函數(shù)。 session_start(); $_SESSION['name'] = 'jobs'; $_SESSION['time'] = time(); unset($_SESSION); session_destroy(); var_dump($_SESSION); //此時(shí)已為空 如果需要同時(shí)銷毀cookie中的session_id,通常在用戶退出的時(shí)候可能會(huì)用到,則還需要顯式的調(diào)用setcookie方法刪除session_id的cookie值。查看全部
-
session與cookie的異同 cookie將數(shù)據(jù)存儲(chǔ)在客戶端,建立起用戶與服務(wù)器之間的聯(lián)系,通常可以解決很多問(wèn)題,但是cookie仍然具有一些局限: cookie相對(duì)不是太安全,容易被盜用導(dǎo)致cookie欺騙 單個(gè)cookie的值最大只能存儲(chǔ)4k 每次請(qǐng)求都要進(jìn)行網(wǎng)絡(luò)傳輸,占用帶寬 session是將用戶的會(huì)話數(shù)據(jù)存儲(chǔ)在服務(wù)端,沒(méi)有大小限制,通過(guò)一個(gè)session_id進(jìn)行用戶識(shí)別,PHP默認(rèn)情況下session id是通過(guò)cookie來(lái)保存的,因此從某種程度上來(lái)說(shuō),seesion依賴于cookie。但這不是絕對(duì)的,session id也可以通過(guò)參數(shù)來(lái)實(shí)現(xiàn),只要能將session id傳遞到服務(wù)端進(jìn)行識(shí)別的機(jī)制都可以使用session。 任務(wù) 了解cookie與session的異同,以及各自的應(yīng)用場(chǎng)景。 index.php <?php //開(kāi)始使用session session_start(); //設(shè)置一個(gè)session $_SESSION['test'] = time(); //顯示當(dāng)前的session_id echo "session_id:".session_id(); echo "<br>"; //讀取session值 echo $_SESSION['test']; //銷毀一個(gè)session unset($_SESSION['test']); echo "<br>"; var_dump($_SESSION);查看全部
舉報(bào)