溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP學(xué)習(xí)筆記-----文件系統(tǒng)

發(fā)布時(shí)間:2020-07-21 00:20:40 來源:網(wǎng)絡(luò) 閱讀:490 作者:leevian 欄目:web開發(fā)

Windows系統(tǒng)中的文件類型:file、dir、unknown

Unix 系統(tǒng)中的文件類型:block、char、dir、fifo、link、unknown

 

Block:塊設(shè)備文件,如某個(gè)磁盤分區(qū)、軟驅(qū)、光驅(qū)等

Char:字符設(shè)備是指在I/O傳輸過程中,以字符為單位進(jìn)行傳輸?shù)脑O(shè)備,例如鍵盤、打印機(jī)

Dir:目錄類型,目錄也是文件的一種

Fifo:命名管道,常用于將信息從一個(gè)進(jìn)程傳遞到另一個(gè)進(jìn)程

File:普通文件類型,如文本文件或可執(zhí)行文件等

Link:符號(hào)鏈接,是指向文件指針的指針,類似Windows中的快捷方式

Unknown:未知類型

 

文件屬性處理函數(shù):

file_exists()           檢查文件或目錄是否存在

filesize()                取得文件大小

is_readable()          判斷給定文件是否可讀

is_wiritable()         判斷給定文件是否可寫

is_executable()       判斷給定文件是否可執(zhí)行

filectime()             獲取文件的創(chuàng)建時(shí)間

filemtime()            獲取文件的修改時(shí)間

fileatime()             獲取文件的訪問時(shí)間

stat()                     獲取文件大部分屬性值

 

注:對(duì)同一個(gè)文件名進(jìn)行多次操作,并且需要該文件信息不被緩存時(shí)可調(diào)用clearstatcache()函數(shù)來清除被PHP緩存的該文件信息。

 

目錄的基本操作

解析目錄路徑

1  basename()

返回路徑中的文件名部分。

@path 文件路徑

@suffix   文件擴(kuò)展名,如果提供了則不會(huì)輸出擴(kuò)展名。

string basename( string path [,string suffix])

 

2        dirname()

返回去掉文件文件名后的目錄名

 

3        pathinfo()

返回一個(gè)關(guān)聯(lián)數(shù)組,其中包括制定路徑中的目錄名、基本名和擴(kuò)展名。

      

       遍歷目錄

              1  opendir() 打開目錄,返回可供其他目錄函數(shù)使用的目錄句柄(資源類型)。如果該目錄不存在或者沒有訪問權(quán)限,則返回FALSE。

              2  readdir()   用于讀取指定目錄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù),函數(shù)返回當(dāng)前目錄指針位置的一個(gè)文件名,并將目錄指針向后移動(dòng)一位。

              3  closedir()  關(guān)閉指定目錄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù)。

              4     rewinddir() 倒回目錄句柄,接受已經(jīng)用opendir()函數(shù)打開的可操作目錄句柄作為參數(shù)。將目錄指針重置目錄到開始處,即倒回目錄的開頭。

 

文件的基本操作

一、文件的打開與關(guān)閉

@ filename 要被打開的文件的URL

@ mode 文件模式(r,r+,w,w+,x,x+,a,a+,b,t

@use_include_path

@ zcontext 可以支持其他協(xié)議

resource fopen(string filename,string mode [, bool use_include_path [,resource zcontext]])

       fclose()

 

二、寫入文件

@ handle 需要打開的文件資源

@ string 字符串輸出到第一個(gè)參數(shù)指定的資源中

@ length 寫入最大字節(jié)數(shù)

@ return 返回寫入的字符數(shù)

fwrite()

 

三、讀取文件內(nèi)容

1 fread()

string fread (inthandle,int length)

 

2 fgets()  fgetc()

 

string fgets(int handle [,int length])

 

3 file()

 

4 readfile()

 

四、移動(dòng)文件指針

intftell(resource handle) //返回文件指針的當(dāng)前位置

intfseek(resource handle,int offset [,int whence])//移動(dòng)文件指針到指定的位置

boolrewind(resource handle)//移動(dòng)文件指針到文件的開頭

 

五、文件的鎖定機(jī)制

@operation

       LOCK_SH 取得共享鎖定(從文件中讀取數(shù)據(jù)時(shí)使用)

       LOCK_EX 取得獨(dú)占鎖定(向文件中寫入數(shù)據(jù)時(shí)使用)

       LOCK_UN 釋放鎖定(無論共享或獨(dú)占鎖,都用它釋放)

       LOCK_NB 附加鎖定(防止flock()在鎖定時(shí)堵塞)

bool flock ( inthandle,int operation [,int &wouldblock])

 

六、文件的上傳

1          客戶端上傳設(shè)置

method=”POST”

enctype=”multipart/form-date”

2          服務(wù)器通過PHP處理上傳

$_FILES多維數(shù)組

PHP的文件上傳處理函數(shù)

 

PHP配置文件的設(shè)置   php.ini

file_uploads    確定服務(wù)器上的PHP腳本是否可以接受HTTP文件上傳

uploads_max_filesize    限制PHP處理上傳文件大小的最大值,此值必須小于post_max_size

post_max_size   限制通過POST方法可以接受信息的最大值,此值應(yīng)當(dāng)大于配置指令upload_max_file的值,因?yàn)槌松蟼鞯奈募?,還可能傳遞其他的表單域

upload_tmp_dir      上傳的文件存放的臨時(shí)路徑,可以是一個(gè)絕對(duì)路徑。這個(gè)目錄對(duì)于擁有此服務(wù)器進(jìn)程用戶必須是可寫的。默認(rèn)值為NULL則為操作系統(tǒng)的臨時(shí)文件夾。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI