国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

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

上一節(jié)當(dāng)中我們學(xué)習(xí)了讀取文件特別好掌握。這一節(jié)當(dāng)中我們來(lái)講解的是寫(xiě)入文件。

file_put_contents寫(xiě)入文件


我們先來(lái)學(xué)習(xí)第一種寫(xiě)入文件的方式:

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

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

<?php
   $data = "在PHP中文網(wǎng)學(xué)好PHP,妹子票子不再話(huà)下!";

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

   if($numbytes){

       echo '寫(xiě)入成功,我們讀取看看結(jié)果試試:';

       echo file_get_contents('binggege.txt');

   }else{
       echo '寫(xiě)入失敗或者沒(méi)有權(quán)限,注意檢查';
   }
?>

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

fwrite配合fopen進(jìn)行寫(xiě)入操作


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

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

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

我們來(lái)看一下特點(diǎn):

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

注意:在下面的實(shí)驗(yàn)中,你可以試試新建個(gè)test.txt文件向里面寫(xiě)入內(nèi)容。然后,可以試試把test.txt刪除??纯从惺裁刺崾尽?/p>

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

總結(jié):
1.不論有沒(méi)有新建都會(huì)打開(kāi)文件重新寫(xiě)入
2.原有的文件內(nèi)容會(huì)被覆蓋掉
3.文件不存在會(huì)創(chuàng)建

那我們來(lái)對(duì)比一下以下幾個(gè)模式的不同:

模式說(shuō)明
r只能讀不能使用fwrite寫(xiě)
r+可操作讀、寫(xiě)
w只可以寫(xiě)功能
w+即可讀又可以寫(xiě)

我們來(lái)通過(guò)實(shí)驗(yàn)證明一下:

<?php
   $filename = 'test.txt';
   $fp= fopen($filename, "r+");
   $len = fwrite($fp, '我是一只來(lái)自南方的狼,一直在尋找心中的花姑娘');
   fclose($fp);
   print $len .'字節(jié)被寫(xiě)入了\n';
?>

實(shí)驗(yàn)時(shí)可以把r后面的+號(hào)去掉。

我們通過(guò)實(shí)驗(yàn),確實(shí)發(fā)現(xiàn)使用r模式,在文件存的時(shí)候可以進(jìn)行寫(xiě)入數(shù)據(jù),只用r的話(huà),寫(xiě)入是不成功的。

a模式和w模式的不同

同樣是下面的這段代碼,我們改為a模式。

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

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

總結(jié):

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

注:a+ 是增強(qiáng)的追加功能??梢宰x取時(shí)也可以使用。

x模式和w模式的不同

這段代碼我們?cè)賹?shí)驗(yàn)一次,改為x模式:

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

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

????1.文件存在的時(shí)候會(huì)報(bào)錯(cuò)

????2.如果把$filename 改成其他的文件名,就可以了。但是,再次刷新的時(shí)候又報(bào)錯(cuò)了

????3.x+ 是增強(qiáng)的x模式。讀取時(shí)也可以使用。

繼續(xù)學(xué)習(xí)
||
<?php $filename = 'test.txt'; $fp= fopen($filename, "x"); $len = fwrite($fp,'讀大學(xué)迷茫了,PHP中文網(wǎng)學(xué)PHP給你希望'); echo $len .'字節(jié)被寫(xiě)入了\n'; ?>
提交重置代碼