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



我在我的PHP脚本中有一系列变量,这些变量是通过POST定义的。

例如:

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

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

json-json-incode使用 json_encode()并将其存储到文件:

$data = json_encode($_POST);
file_put_contents('file.txt', $data);

当您要检索内容时,可以使用file_get_contents()或类似方法,然后使用json_decode()将JSON串线解码回数组/对象。

使用JSON使数据的互换更加容易,并且您无需解析文本文件即可从中检索信息。只需使用json_decode()即可完成。但是,我建议您使用数据库而不是纯文本文件来存储此信息,因为它可以为您提供更多的控制。

as @wrikken 在下面的注释中指出,您可以使用FILE_APPEND标志 - 它允许您将数据附加到文件中而不是覆盖它。

file_put_contents('file.txt', $data, FILE_APPEND);

尝试类似的东西

    $post_dump = print_r($_POST, TRUE);
    $log = fopen('log.txt', 'a');
    fwrite($log, $post_dump);
    fclose($log);

类似这样的东西

$arr = array();
foreach($_POST as $key=>$value);
{
    $arr[] = $key.'='.$value;
}
file_put_contents('log.txt', implode(',', $arr), FILE_APPEND);

尝试这个...

<?php
  $From = "";
  if( isset($_POST['From']) ){
      $file = fopen("test.txt","w");
      fwrite($file,$From);
      fclose($file);
   }
?>

最新更新