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