在PHP網站開發中,存儲資料通常有兩種方式,一種以文本文件方式存儲,比如txt文件,一種是以數據庫方式存儲,比如Mysql,相對於數據庫存儲,文件存儲並沒有什麼優勢,但文件讀寫操作在基本的PHP開發中還是時有使用,今天和大家分享如何利用PHP技術實現文件讀寫之文件寫入操作教程,也算是對PHP文件讀寫操作的入門學習。
將資料寫入檔案的操作主要涉及三個步驟及部分檔案操作函數如下:
1、開啟檔案(檔案操作函數:fopen)
2、寫入檔案(檔案操作函數:fwrite等)
3、關閉文件(檔案操作函數:fclose)
下面透過檔案讀寫操作程式碼實例教學來講解
基本的PHP檔案寫入操作函數fopen、fwrite、fclose應用教學
<?<span style="color: #000000"> @</span><span style="color: #800080">$fp</span> = <span style="color: #008080">fopen</span>("leapsoulcn.txt","w"<span style="color: #000000">); </span><span style="color: #0000ff">if</span>(!<span style="color: #800080">$fp</span><span style="color: #000000">){ </span><span style="color: #0000ff">echo</span> "system error"<span style="color: #000000">; </span><span style="color: #0000ff">exit</span><span style="color: #000000">(); }</span><span style="color: #0000ff">else</span><span style="color: #000000"> { </span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1343.html </span> <span style="color: #800080">$fileData</span> = "domain"."\t"."www.leapsoul.cn"."\n"<span style="color: #000000">; </span><span style="color: #800080">$fileData</span> = <span style="color: #800080">$fileData</span>."description"."\t"."PHP网站开发教程网,面向PHP初学者的PHP教程网。"."\n"<span style="color: #000000">; </span><span style="color: #800080">$fileData</span> = <span style="color: #800080">$fileData</span>."title"."\t"."本文主要讲述PHP文件读写操作中最基本的文件写入教程。"<span style="color: #000000">; </span><span style="color: #008080">fwrite</span>(<span style="color: #800080">$fp</span>,<span style="color: #800080">$fileData</span><span style="color: #000000">); </span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fp</span><span style="color: #000000">); } </span>?>
註解:在這段檔案讀寫操作實例程式碼中,主要功能是在檔案寫入兩行文字。
知識點:
1、使用fopen函數開啟文件,在應用fopen函數準備開啟檔案時,你首先需要明確:
開啟文件幹什麼?是讀文件中的資料呢,還是將資料寫入文件,亦或者讀寫文件?
另外你需要考慮如果文件中已經存在相關數據,你是覆蓋原有文件中的數據呢,還是僅僅將新數據添加至文件末尾
這些問題涉及到PHP文件讀寫操作中的fopen函數中的文件模式的應用,fopen函數原型如下:
<span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1344.html </span> <span style="color: #008080">fopen</span>(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檔案寫入函數原型如下:
<span style="color: #008080">fwrite</span>(fp,<span style="color: #0000ff">string</span>,length)
在這裡你也可以使用檔案寫入函數fputs,其是fwrite的別名函數,功能與用法與fwrite相同。
在檔案寫入函數fwrite中length是可選項,主要用來設定寫入檔案的最大字元數,如果設定了這個參數,fwrite會按設定的length,在指定檔案中寫入規定長度的字元。 fwrite()傳回寫入檔案的字元數,出現錯誤時則傳回false。
在檔案寫入作業完成後,需關閉檔案句柄,否則會佔用系統資源等。可以使用fclose($fp)函數來完成這件事。檔案關閉成功則回傳true,否則回傳false。