php文件 ?
下面就是php文件等等的介紹,希望為您帶來幫助。 ?
?
1、PHP文件是什么? ?
PHP(Hypertext Preprocessor)超文本預處理器,是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,被廣泛的運用于互聯(lián)網(wǎng)開發(fā),學習起來比較容易! ?
PHP語法混合了 C、java、Perl 以及 PHP 自創(chuàng)的語法。(可以看php與java比較)php的執(zhí)行效率奇高;PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。php的功能極其強大,能夠兼容所有數(shù)據(jù)庫,還可以用C、C++進行程序的擴展!目前互聯(lián)網(wǎng)很多優(yōu)秀的產(chǎn)品都是php的杰作,包括facebook,新浪,雅虎,搜狐,msn等等,全球500強中有394家運用的都是php技術,據(jù)統(tǒng)計,全球70%以上的流量都是來自php語言! ?
2、如何打開PHP文件? ?
如果你只是,想打開看源碼,最簡單的用記事本都ok了,Notepad++、phpedit、UltraEdit、Dreamwere、VIM編輯器等等都可以打開。 ?
首先找到一個PHP文件。 ?
1)用記事本打開 ?
①鼠標右擊php文件,在彈出來的列表中選擇“打開(o)”。 ?
②在打開的方式的選項中選擇“記事本”。 ?
③然后就可以在記事本中看到php的代碼了。 ?
2)用Notepad++打開 ?
①鼠標php文件,在出現(xiàn)的列表中選擇“Notepad。 ?
②然后可以看到在Notepad++中打開的php代碼,可以看到此時php代碼顯示不同顏色,這是Notepad++自帶的高顯亮。 ?
3)用UltraEdit打開 ?
用UltraEdit打開,可以看到代碼顯示的高顯亮又不一樣了,不同編輯器顯示的高顯亮不同,可以自己調(diào)節(jié)。 ?
3、怎么運行PHP文件? ?
php語言是后臺腳本語言,不像html,js直接運行,想運行php文件,必須要有php環(huán)境,php環(huán)境安裝比較簡單,網(wǎng)上也有很多教程。PHP是一門很優(yōu)秀的語言,建議大家可以去學習下。 ?
打開php格式文件的方法
?
php文件打開方式一:用記事本打開 ?
右擊.php文件,選擇記事本打開,就可以看到文件代碼啦! ?
php文件打開方式二:用Dreamweaver打開 ?
Dreamweaver是網(wǎng)頁編輯器,比較流行的網(wǎng)站開發(fā)工具,你可以直接把文件拖進去就可以打開php文件了 ?
php文件打開方式三:Notepad++工具打開 ?
也是代碼編輯器,選擇文件打開就行 ?
php文件打開方式四:SublimeText工具打開 ?
和上面方法一樣,直接選擇文件打開就行 ?
除了記事本,其它代碼編輯器工具都可以去php中文網(wǎng)php開發(fā)工具下載 ?
PHP文件緩存的性能測試 ?
常用緩存方式: ?
*種,把需要緩存的數(shù)據(jù)進行處理,形成PHP可以直接執(zhí)行的文件。在需要緩存數(shù)據(jù)的時候,通過include方式引入,并使用。 ?
第二種,把需要的數(shù)據(jù)通過serialize函數(shù)序列化后直接保存到文件。在需要使用緩存數(shù)據(jù)的時候,通過反序列化讀入文件內(nèi)容并復制給需要的變量,然后使用。 ?
測試結果: ?
通過測試我們發(fā)現(xiàn),第二種也就是serialize緩存數(shù)據(jù)的方式更加高效。(數(shù)據(jù)略去,*提供了文章地址下載,大家可以自行測試) ?
?
原因分析: ?
include方式讀取緩存的時候,PHP需要執(zhí)行幾個過程 ?
1.讀取文件 ?
2.解析所Include的文件 ?
3.執(zhí)行,給變量賦值 ?
而serialize序列化方式讀取緩存的時候: ?
1.讀取數(shù)據(jù) ?
2.反序列化數(shù)據(jù)內(nèi)容 ?
3.給變量賦值 ?
從以上內(nèi)容對比的話,可能是由于解析PHP文件內(nèi)的數(shù)組需要的時間超過unserialize反序列化數(shù)組的時間。如果你有興趣可以查看《PHP filesystem相關函數(shù)和include require的性能效率研究》:http://www.ccvita.com/163.html ?
測試文件代碼: ?
CacheTest_IncludeFile.php ?
$t1 = gettimeofday(); ?
for ($i = 0; $i < 10000; $i++){ ?
include("CacheTest_IncludeData.php"); ?
} ?
$t2 = gettimeofday(); ?
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "n"; ?
CacheTest_SerializeFile.php ?
function read_cache($filename) { ?
if(@$fp = fopen($filename, 'r')) { ?
@$data = fread($fp,filesize($cachefile)); ?
fclose($fp); ?
} ?
return $s; ?
} ?
$t1 = gettimeofday(); ?
for ($i = 0; $i < 10000; $i++){ ?
$x = read_cache("CacheTest_SerializeData.php"); ?
$x_r = unserialize($x); ?
} ?
$t2 = gettimeofday(); ?
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "n"; ?
總結分析: ?
*種,include緩存的方式 ?
優(yōu)點:增加數(shù)據(jù)的保密性,和安全性,緩存內(nèi)容不會被外界發(fā)現(xiàn)。 ?
缺點:速度相對較慢。 ?
用途:保存禁止系統(tǒng)外部得知的數(shù)據(jù),比如web系統(tǒng)的設置,甚至MySQL信息等的保存 ?
第二種,serialize序列化緩存的方式 ?
優(yōu)點:速度較快。 ?
缺點:緩存系統(tǒng)文件路徑一旦曝光,緩存內(nèi)容會泄露。 ?
用途:緩存*文章,相關文章等不擔心外部得知的數(shù)據(jù)的時候,可以使用這種方式。 ?
PHP文件操作的簡單介紹 ?
1. 打開文件:fopen("文件名","模式"); ?
模式參數(shù): ?
r:只讀,將文件指針指向文件頭。 ?
r+:讀/寫,將文件指針指向文件頭。 ?
w:只寫,打開并清空文件的內(nèi)容。如果文件不存在,則創(chuàng)建文件。 ?
w+:讀/寫,打開并清空文件的內(nèi)容。如果文件不存在,則創(chuàng)建文件。 ?
a:追加,打開并向文件的末端進行寫操作。如果文件不存在,則創(chuàng)建新文件。 ?
a+:讀/追加,通過向文件末端寫內(nèi)容,來保持文件內(nèi)容。 ?
2. 關閉文件:fclose(); ?
使用文件完畢,要顯式的告訴PHP已經(jīng)使用完文件,例如: ?
$file=fopen("test.txt","r"); //關閉一個已打開的文件指針 ?
//some code be executed ?
fclose=($file); ?
3. 檢測是否已達到文件的末端:feof(); ?
例如:if(feof($file)){ echo "end of file";} ?
4. 逐行讀取文件:fgets(); ?
例如: ?
$file=fopen("test.txt","r"); ?
while(!feof($file)){ ?
echo fgets($file)."< br/>"; ?
} ?
fclose($file); ?
5. 逐字符讀取文件:fgetc() ?
6. 讀取任意二進制數(shù)據(jù):fread() ?
7. 判斷文件讀取的狀態(tài) ?
每個文件句柄都有一個文件指針,根據(jù)fopen函數(shù)的mode參數(shù),文件指針最初位于文件的開頭,或者文件的末尾。feof()可以判斷文件是否已經(jīng)到末尾;filesize()函數(shù)返回文件的大小。 ?