亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

php 創(chuàng)建和修改文件內容

上一節(jié)當中我們學習了讀取文件特別好掌握。這一節(jié)當中我們來講解的是寫入文件。

file_put_contents寫入文件


我們先來學習第一種寫入文件的方式:

int file_put_contents ( string $文件路徑, string $寫入數(shù)據(jù)])

功能:向指定的文件當中寫入一個字符串,如果文件不存在則創(chuàng)建文件。返回的是寫入的字節(jié)長度

<?php
   $data = "在PHP中文網學好PHP,妹子票子不再話下!";

   $numbytes = file_put_contents('binggege.txt', $data);

   if($numbytes){

       echo '寫入成功,我們讀取看看結果試試:';

       echo file_get_contents('binggege.txt');

   }else{
       echo '寫入失敗或者沒有權限,注意檢查';
   }
?>

我們發(fā)現(xiàn)寫入文件也挺簡單的。按照這個函數(shù)的格式,指定文件,寫入字符串數(shù)據(jù)就可以了。

fwrite配合fopen進行寫入操作


int fwrite ( resource $文件資源變量, string $寫入的字符串 [, int 長度])

注:fwrite的別名函數(shù)是fputs

我們上節(jié)課試了r模式,只道是讀取的時候使用,接下來我們用fwrite加上fopen中的w,寫入模式來進行文件寫入。

我們來看一下特點:

寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。

注意:在下面的實驗中,你可以試試新建個test.txt文件向里面寫入內容。然后,可以試試把test.txt刪除??纯从惺裁刺崾?。

<?php
   $filename = 'test.txt';
   $fp= fopen($filename, "w");
   $len = fwrite($fp, '我是一只來自北方的狼,卻在南方凍成了狗');
   fclose($fp);
   print $len .'字節(jié)被寫入了\n';
?>

總結:
1.不論有沒有新建都會打開文件重新寫入
2.原有的文件內容會被覆蓋掉
3.文件不存在會創(chuàng)建

那我們來對比一下以下幾個模式的不同:

模式說明
r只能讀不能使用fwrite寫
r+可操作讀、寫
w只可以寫功能
w+即可讀又可以寫

我們來通過實驗證明一下:

<?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中文網學PHP給你希望');
   echo  $len .'字節(jié)被寫入了\n';
?>

打開網頁執(zhí)行這段代碼,你會發(fā)現(xiàn):每刷新一次,文件中就會多一段
:讀大學迷茫了,PHP中文網學PHP給你希望。

總結:

模式總結
x每次寫入會干掉原有文件的內容,文件不存在都會創(chuàng)建
a每次寫入都會向文件的尾端追加內容

注:a+ 是增強的追加功能。可以讀取時也可以使用。

x模式和w模式的不同

這段代碼我們再實驗一次,改為x模式:

<?php
   $filename = 'test.txt';
   $fp= fopen($filename, "x");
   $len = fwrite($fp,'讀大學迷茫了,PHP中文網學PHP給你希望');
   echo  $len .'字節(jié)被寫入了\n';
?>

我們會發(fā)現(xiàn):

    1.文件存在的時候會報錯

    2.如果把$filename 改成其他的文件名,就可以了。但是,再次刷新的時候又報錯了

    3.x+ 是增強的x模式。讀取時也可以使用。

Weiter lernen
||
<?php $filename = 'test.txt'; $fp= fopen($filename, "x"); $len = fwrite($fp,'讀大學迷茫了,PHP中文網學PHP給你希望'); echo $len .'字節(jié)被寫入了\n'; ?>
einreichenCode zurücksetzen