第12章 PHP中的文件與目錄的處理(《PHP開發(fā)從入門到精通》)_第1頁(yè)
第12章 PHP中的文件與目錄的處理(《PHP開發(fā)從入門到精通》)_第2頁(yè)
第12章 PHP中的文件與目錄的處理(《PHP開發(fā)從入門到精通》)_第3頁(yè)
第12章 PHP中的文件與目錄的處理(《PHP開發(fā)從入門到精通》)_第4頁(yè)
第12章 PHP中的文件與目錄的處理(《PHP開發(fā)從入門到精通》)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

同其他很多語(yǔ)言一樣,數(shù)據(jù)的存儲(chǔ)一般有兩種方式:文件和數(shù)據(jù)庫(kù)。文《PHP開發(fā)從入門到精通》第12章PHP中的文件與目錄的處理-網(wǎng)站開發(fā)專用書件存儲(chǔ)通常是針對(duì)文本文件而言的,適用于存儲(chǔ)量不是很大,而且比較簡(jiǎn)單、安全性要求不是很嚴(yán)格的數(shù)據(jù)。本章詳細(xì)介紹目錄和文件的相關(guān)操作,主要內(nèi)容包括目錄的創(chuàng)建以及操作,文件的打開、讀取、復(fù)制和移動(dòng)等操作。【例12-1】目錄實(shí)例——?jiǎng)?chuàng)建目錄《PHP開發(fā)從入門到精通》目錄在PHP開發(fā)中有著非常重要的作用,通過(guò)使用目錄和子目錄對(duì)存儲(chǔ)在服務(wù)器上的數(shù)據(jù)作進(jìn)一步的分類與存儲(chǔ)。在使用目錄時(shí),常見的操作包括以下幾個(gè):打開目錄opendir()。語(yǔ)法格式如下:

int

dir_handle

opendir(string

path)其中,參數(shù)path為目錄的路徑及目錄名。函數(shù)返回值為可供其他目錄函數(shù)使用的int型句柄。關(guān)閉目錄closedir()。語(yǔ)法格式如下:

closedir(int

dir_handle)其中,參數(shù)dir_handle為已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄。函數(shù)無(wú)返回值,運(yùn)行后,將關(guān)閉打開指向dir_handle的目錄。讀取目錄里的文件readdir()。語(yǔ)法格式如下:

string

readdir(resource

dir_handle)其中,參數(shù)dir_handle為已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄。函數(shù)返回目錄中的文件名稱?!纠?2-1】目錄實(shí)例——?jiǎng)?chuàng)建目錄《PHP開發(fā)從入門到精通》(4)創(chuàng)建目錄mkdir()。語(yǔ)法格式如下:bool

mkdir

(

string

pathname

[,

int

mode]

)嘗試新建一個(gè)由pathname指定的目錄。返回值為邏輯值,若創(chuàng)建目錄成功則返回TRUE,否則返回FALSE。默認(rèn)的mode是0777,意味著最大可能的訪問(wèn)權(quán)。要確保正確操作,必須給mode前面加上0。mode參數(shù)包含3個(gè)八進(jìn)制數(shù),按順序分別指定了所有者、所有者所在的組以及

所有人的訪問(wèn)限制。每一部分都可以通過(guò)加入所需的權(quán)限來(lái)計(jì)算出所要的權(quán)限。數(shù)字1表示使文件可執(zhí)行,數(shù)字2表示使文件可寫,數(shù)字4表示使文件可讀。加入這些數(shù)字來(lái)制定所需要的權(quán)限。如:0600:所有者可讀/寫,其他人沒(méi)有任何權(quán)限。0644:所有者可讀/寫,其他人只有讀的權(quán)限。0755:所有者擁有所有可能的訪問(wèn)權(quán),其他人擁有只讀與執(zhí)行的權(quán)限。0750:所有者擁有所有可能的訪問(wèn)權(quán),所有者所在組擁有只讀與執(zhí)行的權(quán)限?!纠?2-1】目錄實(shí)例——?jiǎng)?chuàng)建目錄《PHP開發(fā)從入門到精通》刪除目錄unlink()。語(yǔ)法格式如下:bool

rmdir(stringdirname)刪除指定的目錄dirname,返回一個(gè)邏輯值,參數(shù)dirname為字符變量,為想要?jiǎng)h除的目錄名。刪除目錄前務(wù)必確保目錄存在,或者目錄已經(jīng)為空,否則會(huì)提示錯(cuò)誤信息。不能刪除不存在的目錄和不為空的目錄?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》文件的相關(guān)函數(shù)如下:判斷文件是否存在的函數(shù)file_exists()。語(yǔ)法格式如下:

bool

file_exists(string

filename)判斷filename指定的文件或目錄是否存在,若存在則返回TRUE,否則返回FALSE。打開文件函數(shù)fopen()。語(yǔ)法格式如下:

resource

fopen(string

filename,string

mode)函數(shù)打開本地或者遠(yuǎn)程文件,參數(shù)filename是需要打開的文件名,為字符型變量。參數(shù)mode為打開的模式,有6種,如表12-1所示?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》寫入文件函數(shù)fwrite()。語(yǔ)法格式如下:int

fwrite

(

resource

handle,

string

string

[,

int

length]

)函數(shù)把string的內(nèi)容寫入文件句柄handle處。如果指定了length,當(dāng)寫入了length個(gè)字節(jié)或者寫完了string以后,寫入就會(huì)停止。返回值為寫入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回FALSE。讀取文件內(nèi)容函數(shù)fgetc()sfgets()sfgetss()sfile()sfread(讀取文件內(nèi)容的函數(shù)有很多,這里講解常用的幾個(gè)函數(shù):1)fgetc()函數(shù)。語(yǔ)法格式如下:

string

fgetc(resource

handle)返回一個(gè)包含有一個(gè)字符的字符串,該字符從文件句柄handle指向的文件中得到。碰到EOF則返回FALSE。文件句柄handle必須是有效的,并且必須指向一個(gè)由fopen()或其他文件打開語(yǔ)句成功打開的文件?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》2)fgets()函數(shù)。語(yǔ)法格式如下:string

fgets

(

int

handle

[,

int

length]

)從文件句柄handle指向的文件中讀取一行字符,字符長(zhǎng)度最多為length-1個(gè)字節(jié)。遇到以下三種情況會(huì)停止讀取字符:遇到換行符(包括在返回值中)。

遇到EOF文件末尾。已經(jīng)讀取了length-1字節(jié)。若沒(méi)有指定length,則默認(rèn)為1024字節(jié)。讀取數(shù)據(jù)失敗,則返回邏輯值FALSE?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》fgetss()函數(shù)。語(yǔ)法格式如下:string

fgetss

(

resource

handle

[,

int

length

)用法與fgets()類似,也是按行返回文件的內(nèi)容,但本函數(shù)會(huì)從讀取的文本中去掉所有HTML和PHP標(biāo)記。file()函數(shù)。語(yǔ)法格式如下:

array

file(string

filename)將文件filename所有的內(nèi)容讀入到一個(gè)數(shù)組中。該函數(shù)的返回值為保存文件filename所有內(nèi)容的數(shù)組,數(shù)組長(zhǎng)度為文件行數(shù),文件的一行對(duì)應(yīng)數(shù)組的一個(gè)元素?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》5)fread()函數(shù)。語(yǔ)法格式如下:string

fread

(

int

handle,

int

length

)函數(shù)從指定文件句柄handle指向的文件中讀取長(zhǎng)度為length的字符串。(5)關(guān)閉文件函數(shù)fclose()。語(yǔ)法格式如下:

bool

fclose(resource

handle)關(guān)閉已經(jīng)打開的文件handle。返回一個(gè)邏輯值,若關(guān)閉成功則返回TRUE,失敗則返回FALSE?!纠?2-2】文件實(shí)例——計(jì)數(shù)器《PHP開發(fā)從入門到精通》刪除文件函數(shù)unlink()。語(yǔ)法格式如下:

bool

unlink(string

filename)刪除文件filename。返回一個(gè)邏輯值,若成功則返回TRUE,否則返回FALSE。若要?jiǎng)h除本例中的counter.txt,語(yǔ)句如下:unlink($counter_file);復(fù)制文件函數(shù)copy()。語(yǔ)法格式如下:bool

copy

(

string

source,

string

destination

)將文件從source復(fù)制到destination。若成功則返回TRUE,否則返回FALSE?!纠?2-3】給出了詳細(xì)的說(shuō)明與講解。移動(dòng)文件。PHP中雖然提供了一個(gè)rename()函數(shù)可以進(jìn)行文件的移動(dòng),但在移動(dòng)過(guò)程中執(zhí)行性能比較低。我們可以自定義一個(gè)移動(dòng)文件的函數(shù),文件名自定,函數(shù)流程為先將要移動(dòng)的文件復(fù)制到目標(biāo)位置,然后再將源位置的文件刪除掉?!纠?2-3】復(fù)制、移動(dòng)、刪除文件實(shí)例《PHP開發(fā)從入門到精通》復(fù)制文件。采用函數(shù)copy()實(shí)現(xiàn)文件從一個(gè)位置復(fù)制到另一個(gè)位置。

COPY()的語(yǔ)法格式如下:bool

copy

(

string

source,

string

destination

)將文件從source復(fù)制到destination。若成功則返回TRUE,否則返回FALSE。移動(dòng)文件。PHP中提供了一個(gè)移動(dòng)文件的函數(shù)rename(string

source,string

destination),但該函數(shù)會(huì)影響到程序的性能,所以現(xiàn)在已經(jīng)不經(jīng)常使用了。本例采取自定義函數(shù)move_file()來(lái)實(shí)現(xiàn)文件從一個(gè)位置移動(dòng)到另一個(gè)位置?!纠?2-3】復(fù)制、移動(dòng)、刪除文件實(shí)例《PHP開發(fā)從入門到精通》move_file()函數(shù)定義如下:function

move_file($source,$destination)//自定義移動(dòng)文件函數(shù){//復(fù)制文件//刪除源位置文件if(copy($source,$destination)){echo"文件移動(dòng)成功!";}else{echo"不能復(fù)制文件!";}unlink($source)or

die("不能刪除文件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論