在PHP網站開發中,存儲數據通常有兩種方式,一種以文本文件方式存儲,比如txt文件,一種是以數據庫方式存儲,比如Mysql,相對於數據庫存儲,文件存儲並沒有什麼優勢,但是文件讀寫操作在基本的PHP開發中還是時有使用,今天和大家分享如何利用PHP技術實現文件讀寫之文件寫入操作教程,也算是對PHP文件讀寫操作的入門學習。
將數據寫入文件的操作主要涉及三個步驟及部分文件操作函數如下:
1、打開文件(文件操作函數:fopen)
2、寫入文件(文件操作函數:fwrite等)
3、關閉文件(文件操作函數:fclose)
下面通過文件讀寫操作代碼實例教程來講解
基本的PHP文件寫入操作函數fopen、fwrite、fclose應用教程
<? @$fp = fopen("leapsoulcn.txt","w"); if(!$fp){ echo "system error"; exit(); }else { // http://www.manongjc.com/article/1343.html $fileData = "domain"."\t"."www.leapsoul.cn"."\n"; $fileData = $fileData."description"."\t"."PHP網站開發教程網,面向PHP初學者的PHP教程網。"."\n"; $fileData = $fileData."title"."\t"."本文主要講述PHP文件讀寫操作中最基本的文件寫入教程。"; fwrite($fp,$fileData); fclose($fp); } ?>
注釋:在這段文件讀寫操作實例代碼中,主要功能是在文件寫入兩行文字。
知識點:
1、使用fopen函數打開文件,在應用fopen函數准備打開文件時,你首先需要明確:
打開文件干什麼?是讀文件中的數據呢,還是將數據寫入文件,亦或者讀寫文件?
另外你需要考慮如果文件中已經存在相關數據,你是覆蓋原有文件中的數據呢,還是僅僅將新數據添加至文件末尾
這些問題涉及到PHP文件讀寫操作中的fopen函數中的文件模式的應用,fopen函數原型如下:
// http://www.manongjc.com/article/1344.html fopen(filename,mode,include_path,context)
調用文件操作函數fopen()時,通常需要傳遞兩個或三個參數。
filename:規定要打開的文件或URL。可以指定文件的絕對路徑,Windows一般為C:\,Unix為/,通過URL,你也可以打開遠程文件。在這裡寫入的文件與PHP文件寫入代碼文件我放在同一個目錄。
mode:規定要求到該文件/流的訪問類型。即打開文件的模式。
include_path:可選項。如果需要在include_path中搜索文件的話,可以將該參數設為1或TRUE。
常用的fopen的文件操作模式說明
”r” - 以只讀方式打開文件,從文件頭開始讀。
”r+” - 以讀寫方式打開文件。
”w” - 以寫入方式打開文件,從文件頭開始寫。如果文件不存在則嘗試創建,如果文件存在,則先刪除文件中的內容。
”w+” - 以讀寫方式打開文件,從文件頭開始讀寫。如果文件不存在則嘗試創建,如果文件存在,則先刪除文件中的內容。
”a” - 以寫入方式打開,從文件末尾開始追加寫。如果文件不存在則嘗試創建。
”a+” - 以讀寫方式打開,從文件末尾開始追加寫寫或者讀。如果文件不存在則嘗試創建。
注意:在進行文件讀寫操作時,你一定要確保打開的文件具有相應的讀寫權限,否則fopen會報錯。你可以使用@來抑制產生的錯誤,然後合理處理錯誤。
2、在使用文件操作函數fopen打開文件後,需要通過對變量賦值,然後寫到$fp指向的文件指針中去,在上述PHP文件寫入操作教程實例中,我使用的是一行一行存儲,即換行儲存,主要通過\n作為換行分隔符。
fwrite文件寫入函數原型如下:
fwrite(fp,string,length)
在這裡你也可以使用文件寫入函數fputs,其是fwrite的別名函數,功能與用法與fwrite一樣。
在文件寫入函數fwrite中length是可選項,主要用來設定寫入文件的最大字符數,如果設定了這個參數,fwrite會按設定的length,在指定文件中寫入規定長度的字符。fwrite()返回寫入文件的字符數,出現錯誤時則返回false。
在文件寫入操作完成後,需要關閉文件句柄,否則會占用系統資源等。可以使用fclose($fp)函數來完成這件事。文件關閉成功則返回true,否則返回false。