file_put_contents结合print_r,打造日志功能
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
echo print_r($log,true);
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
print_r($log,false);
可选,如果为 true 则不输出结果,而是将结果赋值给一个变量,false 则直接输出结果。
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
file_put_contents('./'.date('Y-m-d').'.log',print_r($log));
存的内容是1,标示成功。
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
file_put_contents('./'.date('Y-m-d').'.log',print_r($log,true));
只有加了true,才能存入数组中的内容。
但是它并没有追加。
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
file_put_contents('./'.date('Y-m-d').'.log',print_r($log,true),FILE_APPEND);
加上FILE_APPEND,就自动追加到文件中了。
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
file_put_contents('./log/'.date('Y-m-d').'.log',print_r($log,true),FILE_APPEND);
echo '写入成功';
如果log目录不存在,将不会创建这个目录。程序不会终止执行。下面的程序会继续运行。
<?php
$log = [];
$log['name'] = '张三';
$log['age'] = '15';
$log['date'] = date('Y-m-d');
$path = './log/';
if (!is_dir($path)) {
mkdir($path,0777,true); // 目录,权限,递归
}
$filename = date('Y-m-d').'.log';
file_put_contents($path.$filename,print_r($log,true),FILE_APPEND);
echo '写入成功';
几近完美!!!没有目录,创建目录,递归创建。