Webalizer Statistik mit PHP verarbeiten

DEYS

Neuling
Thread Starter
Mitglied seit
11.05.2004
Beiträge
646
Ort
Berlin
Wie kann ich Statistiken von Webalizer weiterverarbeiten?

Ich habe zB das Problem, dass bei meinem Downloadskript die Zugriffe von Deeplinks nicht gezählt werden, da sie ja nicht von der Seite vorher kommen, sodass das Download-Skript gar nicht erst ausgeführt wird (<- war das zu verstehen?).

In diesem konkreten Fall möchte ich mir die Anzahl der Zugriffe auf bestimmte URLs aus dem Log von Webalizer holen.
Wie kann ich da vorgehen?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
mit $_SERVER['HTTP_REFERER'] bekommt man ja normalerweise die url von der die seite aus aufgerufen wurde.

Jetzt weiß ich nicht wie dein download script aufgebaut ist! Wenn es zb die files direkt anbietet, also zb http://domain.de/files/file.rar dann musst du dir einen parser für webalizer bauen.

bietest du die dateien allerdings über ein script an zb downloads.php?action=send&file=214

dann kannst du es wie oben geschrieben mit $_SERVER['HTTP_REFERER'] machen. Falls du nicht weißt wie das geht :)
Eine Datei verschleiert man hinter einer php datein wie folgt:

PHP:
$filename = $_GET["file"];
$filesize = @filesize($filename);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$filename");
if ($filesize) header("Content-Length: $filesize");
readfile($filename);
 
Das Download-Skript bekommt ID und Linknummer (falls mehrere Dateiversionen existieren) von der vorherigen Seite per POST übermittelt, also zB. download.php(?id=3&link=2).
Das Skript liest erhöht dann die Anzahl der Downloads (INT) um 1, trägt das in die Datenbank ein und leitet anschließend auf den URL, der in diesem Fall für Link Nr. 2 eingetragen ist, um.

Das Skript sieht insgesamt so aus:
PHP:
<?
require("database.inc.php");
connect_edit();
	
$id = $_POST["id"];
$link = $_POST["link"];
	
	
$sql = "SELECT downloads, download1, download2, download3 FROM projekte WHERE id = '$id'";		
	
$res = mysql_query("$sql");
	
while($data = mysql_fetch_array($res))
	{
		$dls = $data["downloads"];								#Anzahl der Downloads um 1 erhöhen
		$dls += 1;
		
		$file = $data["download".$link];
	}
	
$sql_update = "UPDATE projekte SET downloads = '$dls' WHERE id = '$id' LIMIT 1";
	
$update = mysql_query("$sql_update");						#Speichern in Tabelle
	
	
header("Location: $file");						#Browser auf Datei umleiten
	

?>
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh