php檔案操作函式
阿新 • • 發佈:2018-11-22
file_get_contents
獲取一個檔案或一個網路資源的內容,是比較快捷的函式,內部封閉了開啟/關閉操作
但是小心,此函式一次性把檔案內容全部讀出來,放記憶體裡.
工作中,處理大檔案時候.慎用此函式
不支援https協議,如需複製https網頁,請改用curl
file_get_contents(path,include_path,context,start,max_length)
path 必需。規定要讀取的檔案。
include_path 可選。如果也想在 include_path 中搜尋檔案的話,可以將該引數設為 "1"。
context 可選。規定檔案控制代碼的環境。context 是一套可以修改流的行為的選項。
若使用 null ,則忽略。
start 可選。規定在檔案中開始讀取的位置。該引數是 PHP 5.1 新加的。
max_length 可選。規定讀取的位元組數。該引數是 PHP 5.1 新加的。
說明: 如果檔案不存在,則會警告
file_put_contents
把字串內容寫入檔案,內部封閉了開啟/關閉操作
file_put_contents(file,data,mode,context)
file 必需。規定要寫入資料的檔案。如果檔案不存在,則建立一個新檔案。
data 可選。規定要寫入檔案的資料。可以是字串、陣列或資料流。
mode 可選。規定如何開啟/ 寫入檔案。可能的值:FILE_USE_INCLUDE_PATH,FILE_APPEND,LOCK_EX。
context 可選。規定檔案控制代碼的環境。context 是一套可以修改流的行為的選項。若使用 null,則忽略。
檔案操作正統函式
fopen
fread
fwrite
fclose
fopen(filename,mode,include_path,context)
開啟一個檔案,返回一個資源控制代碼
filename 必需。規定要開啟的檔案或 URL。
mode 必需。規定要求到該檔案/流的訪問型別。
include_path 可選。如果也需要在 include_path 中檢索檔案的話,可以將該引數設為 1 或 TRUE。
context 可選。規定檔案控制代碼的環境。Context 是可以修改流的行為的一套選項。
說明:fopen() 將 filename 指定的名字資源繫結到一個流上。
如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜尋協議處理器(也被稱為封裝協議)來處理此模式。
如果該協議尚未註冊封裝協議,PHP 將發出一條訊息來幫助檢查指令碼中潛在的問題並將 filename 當成一個普通的檔名繼續執行下去。
如果 PHP 認為 filename 指定的是一個本地檔案,將嘗試在該檔案上開啟一個流。
該檔案必須是 PHP 可以訪問的,因此需要確認檔案訪問許可權允許該訪問。
如果激活了安全模式或者 open_basedir 則會應用進一步的限制。
如果 PHP 認為 filename 指定的是一個已註冊的協議,而該協議被註冊為一個網路 URL,PHP 將檢查並確認 allow_url_fopen 已被啟用。
如果關閉了,PHP 將發出一個警告,而 fopen 的呼叫則失敗。
fread($handle,length)
handle 必需。規定讀取的檔案資源通道。
length 必需。規定要讀取的最大位元組數。
說明:檔案指標 file 讀取最多 length 個位元組。該函式在讀取完最多 length 個位元組數,
或到達 EOF 的時候,或(對於網路流)當一個包可用時,
或(在開啟使用者空間流之後)已讀取了 8192 個位元組時就會停止讀取檔案。
fwrite($handle,string,length)
handle 必需。規定要寫入的檔案資源通道。
string 必需。規定要寫入檔案的字串。
length 可選。規定要寫入的最大位元組數。
說明:fwrite() 把 string 的內容寫入檔案指標 file 處。
如果指定了 length,當寫入了 length 個位元組或者寫完了 string 以後,寫入就會停止,具體看先碰到哪種情況。
模式
r 只讀(fwrite寫不了)
w 只寫(fread讀不了),並把檔案大小截為0(檔案被清空了),指標停在檔案頭
r+ 讀寫,並把指標指向檔案頭
a 追加,能寫並把指標停在檔案的最後
讀一行
file函式
直接讀取檔案內容,並按行拆成陣列,返回該陣列
一次性讀入全部,大檔案慎用
檔案時間函式
filectime() 建立時間
fileatime()訪問時間
filemtime() 修改時間
操作csv檔案 fgetcsv
做個題: