如何将字符串变量转储到文本文件中

时间:2014-02-01 13:33:32

标签: php

我的PHP脚本中有一系列通过POST定义的变量。

例如:

$From = "";
if( isset($_POST['From']) )
{
    $From = $_POST['From'];
}

如何创建日志文件(不是数据库,只是基本的txt)来捕获POST值?这是会议Web应用程序的一部分,因此无法在屏幕上显示内容。我需要将其转储到服务器上的文件中。

4 个答案:

答案 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);