自定义一个函数,将变量写入磁盘文件,如下:
/**
* 将变量写入磁盘文件
* @param unknown $data 要记录的数据
* @param string $filename 记录变量的文件名
* @param string $flags 写入文件的方式,默认以追加的方式写入
*/
function txtLog($data, $filename = "default.txt", $flags = FILE_APPEND)
{
static $_PUT = null;
$method = $_SERVER['REQUEST_METHOD']; // 请求类型
switch(strtolower($method)) { // 获取提交的参数
case 'get':
$input = & $_GET;
break;
case 'post':
$input = & $_POST;
break;
case 'put':
if(is_null($_PUT)){
parse_str(file_get_contents('php://input'), $_PUT);
}
$input = $_PUT;
break;
default:
$input = null;
break;
}
$saveData = "time:".date("Y-m-d H:i:s")." client_ip:".$_SERVER['REMOTE_ADDR']." url:http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].PHP_EOL;
$saveData .= "param:".http_build_query($input).PHP_EOL;
$saveData .= "data:(".getType($data).") ";
if(isset($data)){
if(is_array($data)){
$saveData .= json_encode($data);
}else{
$saveData .= $data;
}
}else{
$saveData .= $data;
}
$saveData .= PHP_EOL.PHP_EOL;
file_put_contents($filename, $saveData, $flags);
}
函数调用示例:
$data = array('id'=>1, 'name'=>'jack');
txtLog($data);