我的PHP脚本中有一系列通过POST
定义的变量。
例如:
$From = "";
if( isset($_POST['From']) )
{
$From = $_POST['From'];
}
如何创建日志文件(不是数据库,只是基本的txt)来捕获POST
值?这是会议Web应用程序的一部分,因此无法在屏幕上显示内容。我需要将其转储到服务器上的文件中。
答案 0 :(得分:1)
尝试这样的事情
$post_dump = print_r($_POST, TRUE);
$log = fopen('log.txt', 'a');
fwrite($log, $post_dump);
fclose($log);
答案 1 :(得分:1)
使用json_encode()
对您的数组进行JSON编码并将其存储到文件中:
$data = json_encode($_POST);
file_put_contents('file.txt', $data);
如果要检索内容,可以使用file_get_contents()
或类似内容,然后使用json_decode()
将JSON字符串解码回数组/对象。
使用JSON可以更轻松地交换数据,并且您无需解析文本文件以从中检索信息。只需使用json_decode()
即可完成。但是,我建议您使用数据库而不是纯文本文件来存储此信息,因为它可以为您提供更多控制。
如下面的评论中提到的 @Wrikken ,您可以使用FILE_APPEND
标志 - 它允许您将数据附加到文件而不是覆盖它。
file_put_contents('file.txt', $data, FILE_APPEND);
答案 2 :(得分:0)
试试这个......
<?php
$From = "";
if( isset($_POST['From']) ){
$file = fopen("test.txt","w");
fwrite($file,$From);
fclose($file);
}
?>
答案 3 :(得分:0)
像这样的东西
$arr = array();
foreach($_POST as $key=>$value);
{
$arr[] = $key.'='.$value;
}
file_put_contents('log.txt', implode(',', $arr), FILE_APPEND);