php文件操作:文件写入字符串、数组

  • 场景一:用文本文档记录一些操作日志,因为对于一些频繁的操作,操作记录的数据量势必会很大,如果用数据库来存储会给数据库带来压力。

  • 场景二:代替输出函数打印一些数据,例如在支付的回调里面不好用echo、var_dump等直观地打印数据出来,就要用到写入文件来记录数据的方式,可以用于排除错误等。

记录当前时间,写入文件:

图片.png


使用file_put_contents()函数(写入字符串)

<?php 
    $log = "./log.txt"; //文件路径,Linux下需要设置可写权限
    $text = date('Y-m-d H:i:s')."\r\n"; //记录当前时间   
    file_put_contents($log,$text,FILE_APPEND); //追加写入,去掉FILE_APPEND清除文件内容后写入


依次调用fopen(),fwrite() ,fclose()函数(写入字符串)

<?php 
    $fp = fopen("./log.txt","a+");//打开文件,准备追加写入,w+为清除写入
    fwrite($fp, date('Y-m-d H:i:s')."\r\n");//写入文件
    fclose($fp);//关闭文件


*写入数组:

<?php 
	$arr = array('0'=>'lws');
	$fp = fopen('./log.txt','a+');   
	fwrite($fp,var_export($arr,true));   
	fclose($fp);


如果报以下错,说明php.ini的时区没有设置好,找到'date.timezone'一行,设置 date.timezone = PRC

Warning:  date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.

另外,以上两种文件写入的方式,如果文件不存在都会自动创建该文件,可以省去使用file_exists()函数判断文件是否存在。


lws博客
评论功能尚未完善
  • 最新评论
  • 总共0条评论
  • 个人开源博客网站 © 2017-2019 李维山博客 版权所有 备案号:冀ICP备18008903号-1
  • 联系邮箱:666@oyhdo.com