Hi,

Ben een eigen statistieken pagina in elkaar aan het boksen. Heb zover al ip, pageviews, browsers, OS, landen. Maar ik zou ook graag per dag een totaal van kbytes willen opnemen in de statistieken pagina. Via via heb ik vernomen dat je dit via access_log kunt oproepen. Maar heb totaal geen idee hoe en Google kan me er ook niet meer over vertellen.

Alvast bedankt

Glenn
kbytes wat?
Pim - op 06/01/2011 21:12:21

kbytes wat?


Gewoon een totaal van de traffiek van de website per dag!
Klopt, de size van de objecten die naar de client gestuurd worden staat in de access.log van de httpd server (apache). Deze file is doorgaans te vinden in /var/log/httpd en ik vrees dat je bij providers geen toegang hebt tot deze file;
Ik zit nu op mijn laptop, ik heb hier geen test-suite aan boord. Ik heb echter nog een scriptje liggen van vroeger (ooit ergens is gevonden). Ik heb geen idee of het eigenlijk wel werkt. Ik zal het straks even testen: (maar is het alvast)


<?php

//ASSIGN VARIABLES TO USER INFO
$time = date("M j G:i:s Y"); 
$ip = getenv('REMOTE_ADDR');
$userAgent = getenv('HTTP_USER_AGENT');
$referrer = getenv('HTTP_REFERER');
$query = getenv('QUERY_STRING');

//COMBINE VARS INTO OUR LOG ENTRY
$msg = "IP: " . $ip . " TIME: " . $time . " REFERRER: " . $referrer . " SEARCHSTRING: " . $query . " USERAGENT: " . $userAgent;

//CALL OUR LOG FUNCTION
writeToLogFile($msg);

function writeToLogFile($msg)
{
     $today = date("Y_m_d"); 
     $logfile = $today."_log.txt"; 
     $dir = 'logs';
     $saveLocation=$dir . '/' . $logfile;
     if (!$handle = @fopen($saveLocation, "a"))
     {
          exit;
     }
     else
     {
          if(@fwrite($handle,"$msg\r\n")===FALSE) 
          {
               exit;
          }
  
          @fclose($handle);
     }
}

?>


Hmmz; ik bedenkt me niet dat dit niet relevant is, dit meet nl. het verkeer niet.
Output bufferen en dan strlen() opslaan voor het versturen?
Waarom zo moeilijk doen en iets bouwen wat elke provider kan leveren? Vrijwel elke provider bied wel statistics.
@Aad,

Het is toch altijd fijn als je bepaalde gegevens ergens in een zelfgemaakt systeempje stopt. Ik zeg maar iets, als de TS een CMS heeft en hij dagelijks inlogt... Toch leuk dat je kan zien of het aandeel van FF stijgt of dat je vandaag 3 verdwaalde Chinezen op bezoek hebt gekregen :-).

[size=xsmall]Toevoeging op 07/01/2011 00:35:13:[/size]

Wat ik me overigens afvraag, stel dat je deze logs hebt, hoe gebruik je ze dan?

[size=xsmall]Toevoeging op 07/01/2011 00:55:02:[/size]

Antwoord gevonden:
http://www.php-scripts.com/php_diary/012103.php3





[size=xsmall]Toevoeging op 07/01/2011 00:56:55:[/size]

Voor de mensen die cPanel hebben, en graag de logs willen:

Raw Access log is wat je zoekt
cpanel

Raw Access Logs allow you to see who has visited your website without displaying graphs, charts or other graphics. You can use the Raw Access Logs menu to download a zipped version of the server’s access log for your site. This can be very useful when you want to quickly be able to see who is visiting your site.
@Write Down: Bedankt voor het duidelijke en snelle antwoord. Alleen heb ik het ongeluk dat bij mijn provider (one.com) ik niet via mijn ftp aan mijn access_log kan.
Glenn,

Ik he even contact opgenomen met one.com. Je kan de logs wel downloaden. (screenshot)

Mogelijk kan je dit ook automatiseren door een cronjob en een cURL script. Al is dat al wat lastiger... (inloggen op controlepaneel -> downloaden)

Reageren