PHP之檔案處理

來源:互聯網
上載者:User
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()從檔案指標指定的位置讀取一個字元。

string fgetc( resource handle)
//返回一個字元,遇到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教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.