1

いくつかの情報を含むログファイルを作成しようとしています。私のコードは、

    $info = date("Y-m-d  H:i:s")."    ".$_SERVER['REMOTE_ADDR']."               ".$_SERVER['REQUEST_METHOD']."         ".$_SERVER['REQUEST_URI']."          ".$_SERVER['HTTP_REFERER']."\n".$_POST."\n";


$req_dump = print_r($info, TRUE);
$fp = fopen('request.log', 'a');
fwrite($fp, $req_dump);
fclose($fp);

コードは次のような情報をログに記録します。

2013-01-15 17:10:15 192.168.0.50 POST/index.phphttp ://www.domain.com/article/12 アレイ

$ _POST値は配列であり、値はダンプされていません。これを修正して$_POST値をログに記録する方法は?

前もって感謝します

4

6 に答える 6

2

使用var_export()

  $postString = var_export( $_POST, true);  
  $info = date("Y-m-d  H:i:s")."" .$_SERVER['REMOTE_ADDR']." ".
                                   $_SERVER['REQUEST_METHOD']." ".
                                   $_SERVER['REQUEST_URI']."".
                                    $_SERVER['HTTP_REFERER']."\n".  
                                    $postString."\n";
于 2013-01-15T16:28:17.870 に答える
1

これを試して:

$info = date("Y-m-d  H:i:s")."    ".
        $_SERVER['REMOTE_ADDR']."               ".
        $_SERVER['REQUEST_METHOD']."         ".
        $_SERVER['REQUEST_URI']."          ".
        $_SERVER['HTTP_REFERER']."\n".
        print_r($_POST, TRUE)."\n";


//$req_dump = print_r($info, TRUE);
$fp = fopen('request.log', 'a');
fwrite($fp, $info);
fclose($fp);

print_r$_POSTではなく、で行う必要があります$info

于 2013-01-15T16:31:03.983 に答える
1

$_POST文字列に追加しているだけです。これは、それを単語"Array"に変換します。これは、配列->文字列変換が機能する方法だからです。

連結された文字列ではなく、配列print_rが必要です。$_POST

$info = date("Y-m-d  H:i:s")."    ".
    $_SERVER['REMOTE_ADDR']."               ".
    $_SERVER['REQUEST_METHOD']."         ".
    $_SERVER['REQUEST_URI']."          ".
    $_SERVER['HTTP_REFERER']."\n".
    print_r($_POST, true)."\n";

$fp = fopen('request.log', 'a');
fwrite($fp, $info);
fclose($fp);
于 2013-01-15T16:32:42.643 に答える
0

$ _POSTの配列を文字列変数に配置すると、配列が取得されます。このようなことを試してください。

$info = date("Y-m-d  H:i:s")."    ".$_SERVER['REMOTE_ADDR']."    ".$_SERVER['REQUEST_METHOD']."         ".$_SERVER['REQUEST_URI']."          ".$_SERVER['HTTP_REFERER']."\n";
$info .= var_export($_POST) . "\n";
于 2013-01-15T16:30:57.970 に答える
0

使ってみましたか

var_dump($_POST);

于 2013-01-15T16:31:17.123 に答える
-1

file_put_contents関数を試してください。fwriteパラメータとして文字列のみを想定しており、配列を渡しています

于 2013-01-15T16:29:06.230 に答える