php中文件的操作方法注意,PHP对文件的操作方法

php对文件的操作方法:

header("Content-type: text/html; charset=utf-8");

/********************

1、写入内容到文件,追加内容到文件

2、打开并读取文件内容

********************/

$file = 'log.txt';//要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个

$content = "第一次写入的内容\n";

if($f = file_put_contents($file, $content,FILE_APPEND)){// 这个函数支持版本(PHP 5)

echo "写入成功。
";

}

$content = "第二次写入的内容";

if($f = file_put_contents($file, $content,FILE_APPEND)){// 这个函数支持版本(PHP 5)

echo "写入成功。
";

}

if($data = file_get_contents($file)){; // 这个函数支持版本(PHP 4 >= 4.3.0, PHP 5)

echo "写入文件的内容是:$data";

}

?>

注意:log.txt 这个文件web服务器用户一定要有读写权限(nginx下是nginx用户,apache下默认用户是daemon),一般需要把这个文件设置为777属性。

php file_put_contents 追加数据

int file_put_contents( string filename, string data [, int flags [, resource context]] )

和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

filename 要被写入数据的文件名。

data 要写入的数据。类型可以是 string,array (但不能为多维数组)或者是 stream 资源。

flags flags 可以是 FILE_USE_INCLUDE_PATH,FILE_APPEND 和/或 LOCK_EX(获得一个独占锁定),使用FILE_USE_INCLUDE_PATH 时要特别谨慎。

context 一个 context 资源。

该函数将返回写入到文件内数据的字节数。

file_put_contents("rote.txt","cc ",FILE_APPEND);

‍第三个参数实现将内容追加到文件的后面,如果没有这个参数会直接覆盖以前的数据。

常用日志的保存方法:

/**

* ******************

* 1、写入内容到文件,追加内容到文件

* 2、打开并读取文件内容

* *******************

*/

function save_log($path, $msg)

{

if (! is_dir($path)) {

mkdir($path);

}

$filename = $path . '/' . date('YmdHi') . '.txt';

$content = date("Y-m-d H:i:s")."\r\n".$msg."\r\n \r\n \r\n ";

file_put_contents($filename, $content, FILE_APPEND);

}

save_log('./log', '日志内容字符串');

或者:

/***日志保存函数*这里我是按照每周一生成一个新的文件,*每一个操作类型分为一个文件夹,*存的文件扩展名为.json*@paramstring文件路径*@paramstring文件类型**/functionsave_log($path,$fileType,$operationName){$date=newDateTime();$date->modify('this week');$first_day=$date->format('Y-m-d');//获取每周一的日期$now= date("Y-m-d H:i:s");//操作日期$IP=$_SERVER['REMOTE_ADDR'];//操作的Ip$user= session('admin_name');//操作的用户$str="{\"dateTime\":\"".$now."\",\"IP\":\"".$IP."\",\"user\":\"".$user."\"},".PHP_EOL;//PHP_EOL满足windows、linux、MAC环境下的换行$pathName=$path."/".$fileType."/".$first_day.".json";//完整路径名file_put_contents($pathName,$str,FILE_APPEND);//FILE_APPEND不删除原来文件的情况下插入内容}

逐行读取文件中的内容:

或者:

假设有user.txt文件如下:

逐行读取user.txt并写入数组的方法如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值