php 建立和修改文件內(nèi)容
上一節(jié)當中我們學習了讀取檔案特別好掌握。這一節(jié)當中我們來講解的是寫入檔案。
file_put_contents寫入檔案
我們先來學習第一種寫入檔案的方式:
int file_put_contents ( string $檔案路徑, string $寫入資料])
#功能:向指定的檔案當中寫入字串,如果檔案不存在則建立檔案?;貍鞯氖菍懭氲奈辉M長度
<?php $data = "在PHP中文網(wǎng)學好PHP,妹子票子不再話下!"; $numbytes = file_put_contents('binggege.txt', $data); if($numbytes){ echo '寫入成功,我們讀取看看結(jié)果試試:'; echo file_get_contents('binggege.txt'); }else{ echo '寫入失敗或者沒有權限,注意檢查'; } ?>
我們發(fā)現(xiàn)寫入檔案也挺簡單的。按照這個函數(shù)的格式,指定文件,寫入字串資料就可以了。
fwrite配合fopen進行寫入操作
##int fwrite ( resource $檔案資源變數(shù), string $寫入的字串[, int 長度])
註:fwrite的別名函數(shù)是fputs
我們上課試了r模式,只道是讀取的時候使用,接下來我們用fwrite加上fopen中的w,寫入模式來進行檔案寫入。
我們來看看特點:
注意:在下面的實驗中,你可以試試看新test.txt檔案向裡面寫入內(nèi)容。然後,可以試試看把test.txt刪除??纯从惺颤N提示。 | <?php $filename = 'test.txt'; $fp= fopen($filename, "w"); $len = fwrite($fp, '我是一只來自北方的狼,卻在南方凍成了狗'); fclose($fp); print $len .'字節(jié)被寫入了\n'; ?> | 總結(jié):
---|---|
那我們來比較以下幾個模式的不同: | |
#r | 只能讀不能使用fwrite寫 |
#r+ | 可操作讀、寫 |
我們來用實驗證明:
<?php $filename = 'test.txt'; $fp= fopen($filename, "r+"); $len = fwrite($fp, '我是一只來自南方的狼,一直在尋找心中的花姑娘'); fclose($fp); print $len .'字節(jié)被寫入了\n'; ?>
實驗時可以把r後面的+號去掉。
我們透過實驗,確實發(fā)現(xiàn)使用r模式,在文件存的時候可以進行寫入數(shù)據(jù),只用r的話,寫入是不成功的。
a模式和w模式的不同
也是也是下面的這段程式碼,我們改為a模式。
<?php $filename = 'test.txt'; $fp= fopen($filename, "a"); $len = fwrite($fp,'讀大學迷茫了,PHP中文網(wǎng)學PHP給你希望'); echo $len .'字節(jié)被寫入了\n'; ?>
打開網(wǎng)頁執(zhí)行這段程式碼,你會發(fā)現(xiàn):每刷新一次,文件中就會多一段
:讀大學迷茫了,PHP中文網(wǎng)學PHP給你希望。
總結(jié):
模式 | 總結(jié) |
---|---|
每次寫入會幹掉原有檔案的內(nèi)容,檔案不存在都會建立 | |
每次寫入都會到檔案的尾端追加內(nèi)容 |
<?php $filename = 'test.txt'; $fp= fopen($filename, "x"); $len = fwrite($fp,'讀大學迷茫了,PHP中文網(wǎng)學PHP給你希望'); echo $len .'字節(jié)被寫入了\n'; ?>我們會發(fā)現(xiàn):????1 .檔案存在的時候會報錯????2.如果把$filename 改成其他的檔案名稱,就可以了。但是,再次刷新的時候又報錯了????3.x+ 是增強的x模式。讀取時也可以使用。