首頁 >後端開發 >php教程 >PHP之檔處理

PHP之檔處理

WBOY
WBOY原創
2016-08-08 09:27:031043瀏覽

1、開啟檔案

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

//檔案名稱的路徑分隔符號以「/」

//mode:檔案可能透過下列模式來開啟:

r只讀。在文件的開頭開始。 r+讀/寫。在文件的開頭開始。 w只寫。開啟並清空文件的內容;如果文件不存在,則建立新文件。 w+讀/寫。開啟並清空文件的內容;如果文件不存在,則建立新文件。 a追加。開啟並向文件文件的末端進行寫入操作,如果文件不存在,則建立新文件。 a+

讀/追加。透過向文件末端寫內容,來保持文件內容。

x

只寫。建立新文件。如果檔案以存在,則傳回 FALSE。

x+

讀/寫。建立新文件。如果檔案已存在,則傳回 FALSE 和一個錯誤。 註解:如果 fopen() 無法開啟指定文件,則傳回 0 (false)。

2、讀取檔案內容
(1)讀取一個字元:

fgetc()

從檔案指標指定的位置讀取一個字元。

<span style="color:#000000;">string fgetc( resource handle)</span>
//回傳一個字符,遇到EOF則回傳FALSE。

(2)讀取一行字元:

fgets()從檔案指標讀取一行資料。檔案指標必須是有效的,並且必須指向一個由fopen()或fsockopen()成功開啟的檔案。

string fgets( int handle [, int length])

//length:要讀取的資料長度。 fgets()函數能夠從handle指定檔案讀取一行並傳回長度最大為length-1個位元組的字串。在遇到換行符、EOF或讀取到了length-1個位元組後停止,如果忽略length參數,那麼就會讀取到行結束。

註解:

在呼叫函數之後,檔案指標會移到下一行。


fgetss()函數從開啟的檔案中讀取一行並過濾掉 HTML 和 PHP 標記。

(3)讀取任意長度的字串:fread()讀取開啟的檔案。還可以讀取二進位檔案。

string fread( int handle, int length)

//length指定要讀取的位元組數。此函數在讀取到length個位元組或到達EOF時停止執行。 filesize(handle)取得檔案資料的長度。

(4)讀取整個檔案:readfile()、file()和file_get_contents()

int readfile( string filename [, bool use_include_path [, resource context]])

//
readfile()讀取一個檔案並寫入到輸出緩衝,成功回傳讀取的位元組數,失敗返回FALSE。

array file( string filename [, int use_include_path [, resource context]])

//file()將整個檔案的內容讀入到一個陣列中。成功返回數組,數組中的每個元素都是檔案中對應的一行,包括換行符號在內;失敗返回FALSE。

string file_get_contents( string filename [, bool use_include_path [, resource context [,int offset [, int maxlen]]]])
//file_get_contents()將檔案內容讀入到一個字串。如果有offset和maxlen參數,將在參數offset所指定的位置開始讀取長度為maxlen的內容。失敗則回傳FALSE。

應用readfile()、file()、file_get_contents()函數,不需要開啟/關閉文件,不需要輸出語句,直接套用函數即可。

但是在讀取一個字元、一行字元和任意長度的字串時必須應用fopen()函數開啟檔案後才能進行讀取,在讀取完成後還要應用fclose()函數關閉檔案。

3、寫入資料到檔案

(1)fwrite(),別名fputs()

int fwrite( resource handle, string string [,int length])

fwrite()函數把string的內容寫入檔案指標handle處。成功返回寫入的字元數,失敗FALSE。
在應用fwrite()函數時,如果給出length參數,那麼magic_quotes_runtime(php.ini檔案中的選項)配置選項將被忽略,而string中的斜線將不會被抽去。如果在區分二進位檔案和文字檔案的系統上(如Windows)套用這個函數,開啟檔案時,fopen()函數的mode參數要加上'b'。

(2)file_put_contents():無需用fopen()和fclose()

將一個字串data寫入檔案中,成功傳回寫入的位元組數,失敗返回FALSE。

int file_put_contents( string filename, string data [, int flags [, resource context]])

本函數可安全用於二進位物件。如果「fopen wrappers」已經被激活,則在本函數中可以把URL當作檔案名稱來使用。

🎜4、關閉檔案指標🎜🎜
bool fclose( resource handle)
🎜🎜🎜🎜 🎜 以上就介紹了PHP之文件處理,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn