我們常常會需要用到寫檔 / 讀檔的功能,那在 PHP 中要怎麼實作呢? 最基本的方式就是使用 fopen 了,那我們先來看看以下基本範例吧!
一. 寫檔:
file_put_contents( "output.txt", $data );
二. 讀檔:
最後附上 fopen 所傳入的第二個參數說明:
參數 功用
r 讀取檔案,從檔案開頭開始
r+ 供讀取及寫入檔案,從檔案開頭開始
w 寫入檔案(覆寫)
w+ 供讀取及寫入檔案(覆寫)
x 開啟檔案並寫入,假如檔案已存在,fopen 會回傳 false
x+ 開啟檔案,並供讀取及寫入,假如檔案已存在,fopen 會回傳 false
a 新增內容在目前已有的檔案內容之後
a+ 供新增及讀取內容,接續在目前已有的內容之後開始寫入
一. 寫檔:
- <?php
- $data = array();
- for ( $i=1; $i<=10; $i++ ) {
- $data[] = "Item {$i}";
- } // for
- $fo = fopen( 'output.txt', 'w' );
- fwrite( $fo, join("\r\n", $data) );
- fclose( $fo );
- ?>
file_put_contents( "output.txt", $data );
二. 讀檔:
- <?php
- $filename = "output.txt";
- $result = array();
- if ( file_exists($filename) ) {
- $file = fopen( $filename, "r" );
- if ( $file != NULL ) {
- while ( !feof($file) ) {
- $result[] = fgets( $file ); // fgets一次抓一行
- } // while
- fclose( $file );
- } // if 判斷檔案內容是否為空
- } // 判斷是否有該檔案
- echo join("</br>", $result);
- ?>
若只是做單純的讀檔(直接把內容串成一個字串)動作其實可以使用以下程式碼(只需一行 Code):
file_get_contents( $filename ); // 記得用變數接
最後附上 fopen 所傳入的第二個參數說明:
參數 功用
r 讀取檔案,從檔案開頭開始
r+ 供讀取及寫入檔案,從檔案開頭開始
w 寫入檔案(覆寫)
w+ 供讀取及寫入檔案(覆寫)
x 開啟檔案並寫入,假如檔案已存在,fopen 會回傳 false
x+ 開啟檔案,並供讀取及寫入,假如檔案已存在,fopen 會回傳 false
a 新增內容在目前已有的檔案內容之後
a+ 供新增及讀取內容,接續在目前已有的內容之後開始寫入
沒有留言:
張貼留言