PHP将数据写入txt文件

PHP将数据写入txt文件,第1张

//记录返回值

        $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有两种方法读写文件,方法一、file、file_get_contents、file_put_contents三个函数整体读写文本,适合文本文件不太大的情况。两个函数的的典型应用是:

$text=file_get_contents('a.txt')//把文本文件的所有内容取到字符串变量$text里面

$arr=file('a.txt')//把文本文件的所有内容,取到数组$arr里面,$arr[0]就是第一行,以此类推

$arr[1]='abc'//或者通过其它途径修改变量值

$text=implode($arr)//把数组连接为字符串

file_put_contents('a.txt', $text)//把字符串变量的内容写入到文本文件里面。

方法二、使用fopen、fgets、fputs、fclose函数读写文件,可以应付特大文件的修改。文件的修改一般方法是新建立一个文件,把源文件全部扫描一遍,遇到需要的部分进行处理,最后删除源文件,更名新文件。例如下面的代码把a.txt里面的abc修改为def:

$fp1=fopen('a.txt','r')

$fp2=fopen('a.tmp','w')

while(!feof($fp1)){

    $line=fgets($fp1)

    $line=str_replace('abc','def',$line)

    fputs($fp2,$line)

}

flcose($fp1)

fclose($fp2)

unlike('a.txt')

rename('a.tmp', 'a.txt')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12077573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存