php基于自定义函数记录log日志方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php基于自定义函数记录log日志方法。分享给大家供大家参考,具体如下:

/**
 * 记录错误日志
 * @param 日志内容 $res
 */
function save_log($res) {
  $err_date = date("Ym", time());
  //$address = '/var/log/error';
  $address = './error';
  if (!is_dir($address)) {
    mkdir($address, 0700, true);
  }
  $address = $address.'/'.$err_date . '_error.log';
  $error_date = date("Y-m-d H:i:s", time());
  if(!empty($_SERVER['HTTP_REFERER'])) {
    $file = $_SERVER['HTTP_REFERER'];
  } else {
    $file = $_SERVER['REQUEST_URI'];
  }
  if(is_array($res)) {
    $res_real = "$error_date\t$file\n";
    error_log($res_real, 3, $address);
    $res = var_export($res,true);
    $res = $res."\n";
    error_log($res, 3, $address);
  } else {
    $res_real = "$error_date\t$file\t$res\n";
    error_log($res_real, 3, $address);
  }
}

var_export() 方法详解:

var_export – 输出或返回一个变量的字符串表示

描述 :

mixed var_export ( mixed expression , bool )

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

EG:

var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别;

$var =var_export(array('a','b',array('aa','bb','cc')),TRUE)

加上TRUE后,不会再打印出来,

而是给了一个变量,这样就可以直接输出;

echo $var;

此时输出来的形式与var_dump()打印的相似。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP日志操作技巧总结》、《php文件操作总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

学习php设计模式 php实现备忘录模式(Memento)

学习php设计模式 php实现备忘录模式(Memento)

一、意图 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样可以在以后把该对象的状态恢复到之前保存的状态。 二、备忘录模式结构图 三、备忘录模式中主要角色...

使用PHP强制下载PDF文件示例

我们有时会遇到这样一种情况,当需要下载一个PDF文件时,如果不经处理会直接在浏览器里打开PDF文件,然后再需要通过另存为才能保存下载文件。本文将通过PHP来实现直接下载PDF文件。 实现...

浅谈PHP安全防护之Web攻击

SQL注入攻击(SQL Injection) 攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者...

php session_start()出错原因分析及解决方法

错误提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter -...

centos下file_put_contents()无法写入文件的原因及解决方法

centos下file_put_contents()无法写入文件的原因是没有文件夹权限 直接修改目标文件夹/文件 # chmod 777 文件夹名称 以上这篇centos下file_pu...