1. 程式人生 > >php檔案操作函式

php檔案操作函式

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_PATHFILE_APPENDLOCK_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://..." 的格式,則被當成一個 URLPHP 將搜尋協議處理器(也被稱為封裝協議)來處理此模式。 如果該協議尚未註冊封裝協議,PHP 將發出一條訊息來幫助檢查指令碼中潛在的問題並將 filename 當成一個普通的檔名繼續執行下去。 如果 PHP 認為 filename 指定的是一個本地檔案,將嘗試在該檔案上開啟一個流。 該檔案必須是 PHP 可以訪問的,因此需要確認檔案訪問許可權允許該訪問。 如果激活了安全模式或者 open_basedir 則會應用進一步的限制。 如果 PHP 認為 filename 指定的是一個已註冊的協議,而該協議被註冊為一個網路 URLPHP 將檢查並確認 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

在這裡插入圖片描述
在這裡插入圖片描述

做個題:
在這裡插入圖片描述
在這裡插入圖片描述