在php開發(fā)中,我們經(jīng)常需要向文件中寫入數(shù)據(jù),fwrite()函數(shù)是php中文件操作常用的函數(shù)之一,它可以讓我們向文件中寫入數(shù)據(jù),同時(shí)還可以很方便的對(duì)已有數(shù)據(jù)進(jìn)行追加操作。
使用fwrite()函數(shù)寫入數(shù)據(jù)時(shí),我們可以指定往文件中寫入的字符串、寫入的長度以及寫入的文件指針。比如,我們要在文件中追加一段文字“hello world”,可以這樣寫:
$file_path = "/var/www/html/demo.txt"; $fp = fopen($file_path, "a+"); fwrite($fp, "hello world"); fclose($fp);
在上面的代碼中,我們首先打開文件的指針并指定打開方式為追加寫入模式,然后使用fwrite()函數(shù)將“hello world”寫入文件中,最后關(guān)閉文件指針。
除了簡單的追加寫入外,fwrite()函數(shù)還支持在文件指定位置寫入數(shù)據(jù)。比如,我們要在文件的第10個(gè)字節(jié)處追加一段文字“hello world”,可以這樣寫:
$file_path = "/var/www/html/demo.txt"; $fp = fopen($file_path, "r+"); fseek($fp, 10); fwrite($fp, "hello world"); fclose($fp);
在上面的代碼中,我們先使用fseek()函數(shù)將文件指針指向文件中的第10個(gè)字節(jié)處,然后使用fwrite()函數(shù)將“hello world”追加到文件中指定位置。
需要注意的是,在使用fwrite()函數(shù)追加寫入數(shù)據(jù)時(shí),我們應(yīng)該先要判斷文件是否存在,如果文件不存在就需要先創(chuàng)建文件。否則,我們會(huì)遇到一個(gè)無法打開文件的錯(cuò)誤。所以,在追加寫入數(shù)據(jù)之前,我們通常還需要使用file_exists()函數(shù)判斷文件是否存在:
$file_path = "/var/www/html/demo.txt"; if(!file_exists($file_path)){ $fp = fopen($file_path, "w"); fwrite($fp, "文件內(nèi)容"); fclose($fp); } $fp = fopen($file_path, "a"); fwrite($fp, "追加的內(nèi)容"); fclose($fp);
在上面的代碼中,我們先使用file_exists()函數(shù)判斷文件是否存在,如果文件不存在,則先使用fopen()函數(shù)創(chuàng)建文件,并寫入一段內(nèi)容。如果文件已經(jīng)存在,則只需要使用fopen()函數(shù)打開文件指針即可,然后使用fwrite()函數(shù)追加寫入內(nèi)容。
fwrite()函數(shù)的返回值為寫入的字符數(shù),如果寫入失敗,則返回false。如果我們想要判斷寫入成功與否,可以在寫入之后判斷fwrite()函數(shù)返回的值:
$file_path = "/var/www/html/demo.txt"; $fp = fopen($file_path, "a"); $res = fwrite($fp, "hello world"); if($res === false){ echo "寫入失敗"; }else{ echo "寫入成功"; } fclose($fp);
總之,fwrite()函數(shù)在php開發(fā)中是一個(gè)非常重要的函數(shù),可以讓我們輕松地實(shí)現(xiàn)文件的寫入和追加操作,并且使用非常靈活。無論是寫入文件的末尾還是在指定位置追加數(shù)據(jù),都可以通過fwrite()函數(shù)實(shí)現(xiàn)。所以,在進(jìn)行文件操作時(shí),我們應(yīng)該多加利用該函數(shù)。