方法一,利用fopen與fwirte函數實現
1,PHP如何開啟檔案
使用PHP函數fopen()開啟一個檔案,fopen()一般使用2個參數表示開啟檔案的路徑和檔案模式。比如:
| 代碼如下 |
複製代碼 |
$fp=fopen("../cnbruce.txt",'w');
|
其中 "../cnbruce.txt" 就表示開啟的cnbruce.txt檔案的路徑(相對當前執行程式檔案的路徑),'w'表示以唯寫的方式開啟該文字檔。
寫檔案用
fwrite(file,string,length)
參數說明:
file 必需。規定要寫入的開啟檔案。
string 必需。規定要寫入檔案的字串。
length 可選。規定要寫入的最大位元組數。
例
| 代碼如下 |
複製代碼 |
|
/**
* 寫檔案函數
*
* @param string $filename 檔案名稱
* @param string $text 要寫入的文本字串
* @param string $openmod 文本寫入模式('w':覆蓋重寫,'a':文本追加)
* @return boolean
*/
function write_file($filename, $text, $openmod = 'w') {
if (@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $text);
fclose($fp);
return true;
} else {
return false;
}
} |
方法二,利用file_put_contents實現讀寫
file_put_contents函數有個參數LOCK_EX非常有用,加上它之後,再也沒有出現過內容缺失的情況了。
這個參數LOCK_EX的意思很直白,就是寫檔案時,先鎖上這個檔案,這樣只允許某個用戶端訪問的時候寫,其他用戶端訪問不能寫了。
我的用法如下:
| 代碼如下 |
複製代碼 |
|
file_put_contents($file, $content, FILE_APPEND|LOCK_EX) |
解釋:
$file=>這個是寫入檔案的路徑+檔案名稱
$content=>這個是寫入檔案的內容
FILE_APPEND=>直接在該檔案已有的內容後面追加內容
LOCK_EX=>寫檔案的時候先鎖定,防止多人同時寫入造成內容丟失