php如何實(shí)現(xiàn)文件寫入不覆蓋

今天小編給大家分享一下php如何實(shí)現(xiàn)文件寫入不覆蓋的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比石峰網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式石峰網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋石峰地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。

方法:1、用“file_put_contents(文件名,'數(shù)據(jù)',FILE_APPEND)”;2、用“fwrite(fopen(文件名,'a'),'數(shù)據(jù)')”,fopen()可以追加模式打開文件,fwrite()可在打開的文件中寫入數(shù)據(jù)。

php如何實(shí)現(xiàn)文件寫入不覆蓋

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

php怎么實(shí)現(xiàn)文件寫入不覆蓋

在php中,想要實(shí)現(xiàn)文件寫入不覆蓋,可以通過在文件末尾追加數(shù)據(jù)來實(shí)現(xiàn)。

PHP支持兩種在文件末尾追加數(shù)據(jù)的方法:

  • 使用file_put_contents()函數(shù)

  • 使用fopen()和fwrite()函數(shù)

有一個(gè)名為“test.txt”的文本文件,里面的內(nèi)容為:

php如何實(shí)現(xiàn)文件寫入不覆蓋

來看看怎么向文件寫入數(shù)據(jù)(不覆蓋):

方法1:利用file_put_contents()函數(shù)追加數(shù)據(jù)

file_put_contents()函數(shù)可以將一個(gè)字符串寫入到文件中,語法格式如下:

file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])

參數(shù)說明如下:

  • $filename:要被寫入數(shù)據(jù)的文件名;

  • $data:要寫入的數(shù)據(jù),可以是字符串、一維數(shù)組或者資源等類型;

  • $flags:可選參數(shù),它的值可以是以下幾種(可以使用 | 運(yùn)算符組合使用):

    • FILE_USE_INCLUDE_PATH:在 include 目錄里搜索 $filename。

    • FILE_APPEND:如果文件 $filename 已經(jīng)存在,追加數(shù)據(jù)而不是覆蓋。

    • LOCK_EX:在寫入時(shí)獲得一個(gè)獨(dú)占鎖。

  • $context:可選參數(shù),一個(gè) context 資源。

將file_put_contents()函數(shù)的第三個(gè)參數(shù)設(shè)置為“FILE_APPEND”可追加數(shù)據(jù)而不是覆蓋。

示例:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = "test.txt";
file_put_contents($file, '歡迎來到創(chuàng)新互聯(lián)!33',FILE_APPEND);    //寫入內(nèi)容
readfile($file);   //讀取并輸出文件全部?jī)?nèi)容
?>

php如何實(shí)現(xiàn)文件寫入不覆蓋

方法2:利用fopen()和fwrite()函數(shù)追加數(shù)據(jù)

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = "test.txt";
$handle = fopen($file, 'a');                 //以追加寫入的模式打開文件
fwrite($handle, 'http://muchs.cn/');    //寫入內(nèi)容
fclose($handle);//關(guān)閉文件
readfile($file);   //讀取并輸出文件全部?jī)?nèi)容
?>

php如何實(shí)現(xiàn)文件寫入不覆蓋

關(guān)鍵代碼分析:

  • fopen($filename, $mode)函數(shù)可以按照指定文件模式$mode打開一個(gè)文件。當(dāng)$modea或者a+,設(shè)置在打開文件時(shí),將文件指針指向文件末尾;這樣進(jìn)行寫入操作時(shí),數(shù)據(jù)會(huì)被追加到已有數(shù)據(jù)的后面。

  • fwrite()函數(shù)可以將一個(gè)字符串寫入到打開的文件中,因此fwrite($handle, 'http://muchs.cn/')語句的作用就是:將字符串“http://muchs.cn/”寫入到已經(jīng)打開的“test.txt”中。

  • 寫入完成后,使用fclose()函數(shù)來關(guān)閉文件。如果想要獲取“test.txt”文件中的新內(nèi)容,就使用readfile($file)函數(shù)直接獲取。

以上就是“php如何實(shí)現(xiàn)文件寫入不覆蓋”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:php如何實(shí)現(xiàn)文件寫入不覆蓋
文章來源:http://muchs.cn/article12/gdssgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站制作、面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化