----- Original Message -----
From: <[EMAIL PROTECTED]>
> ----- Original Message -----
> From: "Bob"
>
> I used to use the following to log specific errors:
> <snip>
> But, this meant that sometimes there would only be a few errors shown, if
> the file had reached it's 20000 limit and deleted itself.
>
> So I created a rolling road log of a 100. This allows me to view trends
> easier. I'm not sure how efficient this is, or whether it would be suitable
> for high volume?
> <snip>
>
> Has anyone got a better method, or can improve it?
> Regards, Bob E.
>
> ------------------------------------
> Hi Bob,
>
> Here is some working example code for php version 4.x.x
>
> It is much simpler and faster in php version 5.x.x because you can just add
> arrays together in a single php function.
>
> As with all file access the file/folder permission's need to be set
> correctly.
>
> Serialize is the safest way to story php objects as TRUE, FALSE, NULL and
> 'value not set' are stored and retrieved correctly.
>
> Let me know what version you are running and I will write a better example.
>
> <html><head><title>www.domainname.com</title></head><body><?php
>
> function display($array)
> {
> $text = serialize($array) . "\n";
> $text = str_replace("\n", "<br>\n", $text);
> echo($text);
> }
>
> $this_request['REQUEST_DATE'] = gmdate('d/m/Y', 36000 +
> $_SERVER['REQUEST_TIME']);
> $this_request['REQUEST_TIME'] = gmdate('h:i:s a', 36000 +
> $_SERVER['REQUEST_TIME']);
> $this_request['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'];
> $this_request['REMOTE_PORT'] = $_SERVER['REMOTE_PORT'];
> $this_request['REMOTE_HOST'] = gethostbyaddr($_SERVER['REMOTE_ADDR']);
> $this_request['HTTP_REFERER'] = $_SERVER['HTTP_REFERER'];
>
> $data[] = $this_request;
>
> if(file_exists('data.txt'))
> {
> $temp = unserialize(@file_get_contents('data.txt'));
> foreach($temp as $this_request)
> {
> $data[] = $this_request;
> }
> }
>
> if(isset($_GET['delete']))
> {
> $ip = $_GET['delete'];
> if($ip == '')
> {
> $ip = $_SERVER['REMOTE_ADDR'];
> }
> $total = count($data);
> for($count = 0; $count <= $total; $count++)
> {
> if($data[$count]['REMOTE_ADDR'] == $ip)
> {
> unset($data[$count]);
> }
> }
> $show = TRUE;
> }
>
> @file_put_contents('data.txt', serialize($data));
>
> if(isset($_GET['show']))
> {
> $show = TRUE;
> }
>
> if($show)
> {?>
>
> <table border="1">
>
> <tr>
> <th>Date</th>
> <th>Time</th>
> <th>IP</th>
> <th>Port</th>
> <th>Remote Host</th>
> <th>Referer</th>
> </tr>
> <?php
> foreach($data as $this_request)
> {
> echo("\n<tr>\n");
> foreach($this_request as $key => $value)
> {
> echo('<td>');
> if($key == 'HTTP_REFERER')
> {
> echo('<a href="' . $value . '" target="_Blank">');
> }
> echo($value);
> if($key == 'HTTP_REFERER')
> {
> echo('</a>');
> }
> echo("</td>\n");
> }
> echo("</tr>\n");
> }
> echo("\n</table>\n");
> }
>
> ?>
Hi Rob,
I'm using PHP 4.4.4 (shared server so no choice, other than moving) so can't
use file_put_contents().
You don't need to write me a complete program, just the concept and main points.
I've got to do some of the work myself <grin>.
I've never bothered recorded $_SERVER['REMOTE_PORT'] before. What do you use it
for?
Thanks, Bob E.
p.s. Sorry I'm slow at replying at the moment as I'm rewiring my son's shop.
He's got me doing it as I work cheap. A cup of tea every hour.
------------------------------------
Please remember to write your response BELOW the previous text.
Community email addresses:
Post message: [email protected]
Subscribe: [EMAIL PROTECTED]
Unsubscribe: [EMAIL PROTECTED]
List owner: [EMAIL PROTECTED]
Shortcut URL to this page:
http://groups.yahoo.com/group/php-listYahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/php-list/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/php-list/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/