您的位置:

phptxt追加内容的简单介绍

本文目录一览:

PHP将数据写入txt文件

//记录返回值

        $write_data_a = [

            'html_url'  =  $getUrl,

            'ip'    = $this-get_real_ip(),

            'time'  =  date("Y-m-d H:i:s",time()),

            'res'   = $response

        ];

//转化为JSON

        $write_data_a = json_encode($write_data_a) . '||' . "\n";

        $date = date("Y-m-d", time());

//项目路径目录,判断是否存在,不存在则创建

        $lujing = "./360_mobile_res_sd";

        if(!is_dir($lujing)){

            mkdir(iconv("UTF-8", "GBK", $lujing),0777,true);

        }

//文件,判断是否存在,不存在则创建

        $TxtFileName = "./360_mobile_res_sd/" . $date . "_2.txt";

        //以读写方式打写指定文件,如果文件不存则创建

        if(file_exists($TxtFileName))

        {

//存在,追加写入内容

            file_put_contents($TxtFileName, $write_data_a, FILE_APPEND);

        }

        else

        {

//不存在,创建并写入

            if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){

                exit();

            }

            if(!fwrite ($TxtRes,$write_data_a)){ //将信息写入文件

                fclose($TxtRes);

                exit();

            }

            fclose ($TxtRes); //关闭指针

        }

PHP为什么追加内容,把原来a.txt里面的内容都替换掉了。怎样才能在a.txt文档里的后面追加内容。

这个地方是fopen函数的第二个参数(模式)的设置问题,其中主要有:

'r' 只读方式打开,将文件指针指向文件头。

'r+' 读写方式打开,将文件指针指向文件头。

'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

'w'是替换,要追加需要改用'a'

PHP多进程同时追加写入TXT,导致之前的内容丢失。

多进程同时修改一个文件是很容易造成这样的情况,建议使用数据库来存储,编程就非常简单,锁可以细到记录级。

如果必须使用文件,一般的办法是读文件前判断是否存在临时文件,存在就放弃(或者等待),只有不存在临时文件才继续操作,继续操作的第一步是建立临时文件,修改文件,最后删除临时文件。