<?php
   
/*
      Mit dem folgenden Befehl kann dynamisch festgelegt werden,
         welcher Status Code in der Log gespeichert werden soll:
         
      define ( 'HTTP_STATUS_CODE', 404 );
   */

   
function CreateApacheLog ( )
   {
      
$logDirectory "{$_SERVER['DOCUMENT_ROOT']}/logs";
      
$logFile "$logDirectory/apacheLog." date 'Y.m.d' ) . '.txt';
      
$logMsg gethostbyaddr $_SERVER['REMOTE_ADDR'] ) /* DNS-Name */
         
' - ' /* Nichts sinnvolles (s. rfc931) */
         
. ( empty ( $_SERVER['PHP_AUTH_USER'] ) ? '-' 
            
$_SERVER['PHP_AUTH_USER'] ) /* Den Username */
         
strftime ' [%d/%b/%Y:%H:%M:%S +0100]' /* Datum und Uhrzeit */
         
" \"{$_SERVER['REQUEST_METHOD']} {$_SERVER['REQUEST_URI']} "
            
"{$_SERVER['SERVER_PROTOCOL']}\" " /* Request-String */
         
. ( defined ('HTTP_STATUS_CODE') ? HTTP_STATUS_CODE '200' )
            
/* Status Code; Leider nicht über PHP auslesbar */
         
' 1 "' /* Größe der ausgegebenen Datei; auch nicht über PHP auslesbar */
         
. ( empty ( $_SERVER['HTTP_REFERER'] ) ? '-'
            
$_SERVER['HTTP_REFERER'] ) /* Referer */
         
"\" \"{$_SERVER['HTTP_USER_AGENT']}\"" /* Useragent des Browsers '*/
         
"\r\n"/* neue Zeile */

      
if ( function_exists 'file_put_contents' ) )
      {
         
/* Funktion ist erst ab PHP 5 verfügbar */
         
file_put_contents $logFile$logMsgFILE_APPEND );
      }
      else
      {
         
$fileHandle fopen $logFile'a' );
         
fputs $fileHandle$logMsg );
         
fclose $fileHandle );
      }
   }
?>
deutsch english
Overview
Downloads
free game
SerpTrain
Physics Studies
Snippets
Mail Test
Guestbook
Contact
Valid HTML 4.01!
Valid CSS!
Get MySQL
Get PHP
Get Firefox
Get Thunderbird
© Michael "Serpedon" Walz