1

私の最初の PHP プロジェクトの 1 つとして、ユーザーの IP アドレスをログに記録する IP ロギング スクリプトを作成しています。何らかの理由で、fwrite() 関数がログファイルに書き込んでいないようです。

誰かが私を助けることができますか?

<?php
// IP Logger Script
// By Sam Lev
// sam@levnet.us
$iplogfile = 'iplog.txt';
$ipaddress = $_SERVER['REMOTE_ADDR'];
$webpage = $_SERVER['SCRIPT_NAME'];
$timestamp = date('m/d/Y h:i:s');
$browser = $_SERVER['HTTP_USER_AGENT'];
$fp = fopen($iplogfile, 'a+');
chmod($iplogfile, 0777);
fwrite($fp, '['.$timestamp.']: '.$ipaddress.' '.$webpage.' '.$browser. "\r\n");
fclose($fp);
echo "IP ADDRESS: $ipaddress <br />\n";
echo "TIMESTAMP: $timestamp <br />\n";
echo "BROWSER: $browser <br />\n";
echo "Information logged to server. <br />\n";
?>

スクリプトを実行した後も、iplog.txt は空白のままです。すべてがうまく響きます。

ありがとう

4

3 に答える 3

6

すべきではない

$fp = fopen($file, 'a');

なれ

$fp = fopen($iplogfile, 'a');

? の定義がわからないからです$file

于 2013-10-07T14:06:01.540 に答える
-1

これが役立つ場合はロギング用の私のコードですが、コードchmodをログファイルに0777に追加した後、またはコードを追加しても機能せず、phpエラーが発生するため機能しません。手動でファイルをログに記録しますが、これは私のサイトのための簡単なものでした www.nzquakes.maori.nz 助けてくれてありがとう

<!-- Below Code Logs ONLY User's IP Address & Time Stamp & Browser Info To http://www.example.com/logs/ip-address-mainsite.txt -->

<?php
$iplogfile = 'full path to your logs goes here eg http://www.example.com/logs/ip-address-mainsite.txt';
$ipaddress = $_SERVER['REMOTE_ADDR'];

//load the file
$file = file_get_contents($iplogfile);

//check to see if the ipaddress is already in the file
if ( ! preg_match("/$ipaddress/", $file )) {
//nope, log it!
$webpage = $_SERVER['SCRIPT_NAME'];
$timestamp = date('d/m/Y h:i:s');
$browser = $_SERVER['HTTP_USER_AGENT'];
$fp = fopen($iplogfile, 'a+');
fwrite($fp, '['.$timestamp.']: '.$ipaddress.' '.$browser. "\r\n");
fclose($fp);
}
?>
于 2015-03-06T01:44:10.993 に答える