2013-02-05 2 views
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++; 
    } 
} 
+0

이 코드는 꽤 자명 해 보입니다. 어떤 문제가 있습니까? –

+0

'file_put_contents ("/ tmp/stuff.txt", "penguins", FILE_APPEND);'/tmp/stuff.txt에 문자열 'penguins'을 추가하여 파일이 존재하지 않으면 생성합니다. –

답변

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); 
?> 
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++; 
    } 
} 
?> 
관련 문제