0

PHP で、メッセージをテキスト ファイルに保存し、php を使用してログ ファイルを読みたいと考えています。

これが私がこれまでに持っているものです:

function LogUserActivity($LogFile, $Activity){
    $UserIp = $_SERVER['REMOTE_ADDR'];
    $TimeRef = date('d-m-Y H:i T');

    $Handle = fopen($LogFile, 'a');
    $Data = $UserIp.'|'.$TimeRef.'|'.$Activity.'~';
    fwrite($Handle, $Data);
    fclose($Handle);
}

function ReadUserActivity($LogFile){
    global $log;
    $LogFile = file_get_contents($LogFile);
    $ExplodedLogFile = explode("~", $LogFile);
    $ArrayNum = count($ExplodedLogFile);

    $i = 0;
    while ( $i <= $ArrayNum ){
        $log[$i] = explode("|", $ExplodedLogFile[$i]);
        $i++;
    }
}
4

2 に答える 2

2

mySQL データベースの使用をお勧めします。

http://www.thesitewizard.com/faqs/what-is-mysql-database.shtml

しかし、それを使用することを主張する場合は、理解するのに役立ついくつかのコメントがあります..

<?php
//create file ($LogFile -> filename, $Activity -> type of activity)
function LogUserActivity($LogFile, $Activity){
    //get user's ip
    $UserIp = $_SERVER['REMOTE_ADDR'];
    //get time
    $TimeRef = date('d-m-Y H:i T');
    //create file
    $Handle = fopen($LogFile, 'a');
    //file contents
    $Data = $UserIp.'|'.$TimeRef.'|'.$Activity.'~';
    //write data to file
    fwrite($Handle, $Data);
    //close file
    fclose($Handle);
}

//read data from file ($LogFile -> filename)
function ReadUserActivity($LogFile){
    //variable for storing data on file
    global $log;
    //function to get log file's data
    $LogFile = file_get_contents($LogFile);
    //separate each entry and put it in an array
    $ExplodedLogFile = explode("~", $LogFile);
    //determine number of logs
    $ArrayNum = count($ExplodedLogFile);
    //incrementable variable
    $i = 0;
    //loop to search through logs
    while ( $i <= $ArrayNum ){
        //separate each log into the three parts it has and put them in an array inside the main array
        $log[$i] = explode("|", $ExplodedLogFile[$i]);
        //incrememnt i
        $i++;
    }
}
?>
于 2013-02-05T15:07:43.583 に答える
1

すべてのスクリプトの先頭で呼び出しLogUserActivity、書き込み先のファイルと自分自身へのメッセージを渡します。例えば:

<?php
include('the-file-where-you-put-these-functions.php');
LogUserActivity('/tmp/example.log', 'Porkchop sandwitches!');
// the rest of your script
?>

ログを検査するために使用するスクリプトで、他の関数を呼び出します。$log 変数が設定され、必要に応じて出力できます。

または、この単一のライナーを使用してください:

<?php
file_put_contents("/tmp/stuff.txt", "penguins", FILE_APPEND); 
?>
于 2013-02-05T15:03:04.827 に答える