phpbar.de logo

Mailinglisten-Archive

[php] base64_encode

[php] base64_encode

Guenther Theilen theilen at eqi.de
Die Jan 4 10:08:44 CET 2005


Moin,

ich kämpfe hier grade mit einem (hoffentlich) kleinen Problem und brauche mal 
einen Schubs in die richtige Richtung:
Auf einer Webseite sollen Klicks auf externe Links (also Links "nach draußen") 
gezählt werden.
Angelehnt an phpOpenTracker mache ich momentan folgendes:

<?php
ob_start();
[hier dann die eigentliche Seite]
$buffer= ob_get_contents();
print preg_replace ("#href=(\"|')http://([^\"']+)(\"|')#ime",
  '"href=\"/exit/".base64_encode(\'\\2\').".html\""',
  $buffer
  );
?>

Aus http://foo.bar wir dadurch /exit/base64_codierte_url.html
Per rewrite_rule mache ich daraus exit.php?url=base64_codierte_url
In exit.php wir $_GET['url'] ausgewertet und in die DB geschrieben.

Soweit, so einfach, so gut.
Jetzt möchte ich aber noch zusätzlich die Seite erfassen, auf der der Klick 
erfolgt ist, also $_SERVER['REQUEST_URI'].

Wie stelle ich das jetzt am schlauesten an? Mein Ansatz wäre es, ein 
"Trennzeichen" zu definieren, und dann im regulären Ausdruck folgendes zu 
machen:
base_64_encode(\'\\2\' . Trennzeichen . $_SERVER[...])

In exit.php dann entsprechend mit split auseinandernehmen.

Ist das schlau? Welches Trennzeichen wäre gut? Gibt es einen besseren Weg?

Grüße
Günther



php::bar PHP Wiki   -   Listenarchive