Code前端首页关于Code前端联系我们

phptxt追加内容的简单介绍

terry 2年前 (2023-09-30) 阅读数 43 #PHP
文章标签 PHP microtime

本文目录一览:

  • 1、PHP将数据写入txt文件
  • 2、PHP为什么追加内容,把原来a.txt里面的内容都替换掉了。怎样才能在a.txt文档里的后面追加内容。
  • 3、PHP多进程同时追加写入TXT,导致之前的内容丢失。

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,导致之前的内容丢失。

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

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

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门