這篇文章給大家介紹的內容是關於php實現操作檔案的各種方式總結(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
正常來說,php操作mysql才是絕配,但是如果考慮到安全問題,或者磁碟空間問題,加上涉及的資料比較少的話,那麼久可以考慮採用檔案的方式進行儲存。但是需要注意的時候在Ubuntu下面或者centos下面,經常會由於許可權問題的導致開啟檔案失敗,所以需要在操作檔案的時候設定許可權。
1、讀取檔案
正常的讀取檔案代碼如下
$filename = "wel.txt";$fp = fopen($filename, "r");$data = fread($fp, filesize($filename));echo $data;fclose($fp);
通過另一種方式讀取檔案
$filename = "wel.txt";$data = file_get_contents($filename, filesize($filename));echo $data;
一行一行的讀取檔案
$filename = "wel.txt";$fp = fopen($filename, "rb");while(!feof($fp)) { $line = fgets($fp); echo $line.'<br/>';}fclose($fp);
其他方式讀取
$filename = "wel.txt";readfile($filename);
$filename = "wel.txt";$fp = fopen($filename, "r");fpassthru($fp);
$filename = "wel.txt";$filearray = file($filename);print_r($filearray);
2、寫入檔案
$filename = "wel.txt";$content = "xiaoD";$fp = fopen($filename, "a");fwrite($fp, $content, strlen($content));fclose($fp);
3、檔案加鎖
為了防止在寫入檔案的時候讀取檔案,我們經常會對正在寫的檔案進行加鎖
$filename = "wel.txt";$content = "xiaoD";$fp = fopen($filename, "a");flock($fp, LOCK_EX);fwrite($fp, $content, strlen($content));flock($fp, LOCK_UN);fclose($fp);
4、其他函數
判斷檔案是否存在
$filename = "we2l.txt";if(file_exists($filename)) { readfile($filename);} else { echo 'file not exists';}
刪除一個檔案
$filename = "we2l.txt";if(file_exists($filename)) { unlink($filename);} else { echo 'file not exists';}
設定檔案指標的位置
fseek($fp, 2);
擷取檔案指標的位置
ftell($fp);
檔案指標設定在檔案開始處
rewind($fp);