Archiv

Archiv für die Kategorie ‘PHP’

GeoIP mit PHP

18. Dezember 2009 Matze Keine Kommentare

Wie die Überschrift verrät, soll es heute um GeoIP’s gehen. Unter einer GeoIP versteht man die Zuordung einer IP-Adresse zu ihrer geographischen Herkunft, auch Geotargeting genannt. Über GeoIP-Datenbanken ist es möglich festzustellen in welchem Ort sich der Provider des Besuchers befindet.

Eine freie Datenbank mit einer PHP Schnittstelle bietet MaxMind mit GeoLiteCity an. Dabei wird die Datenbank in einer Binärversion angeboten die ca 30MB groß ist und nach eigenen Angaben 99,5% Treffergenauigkeit haben soll.

Zugriff auf die Binärdatei erhält man über die PHP-API von MaxMind. Diese lässt sich schnell in den eigenen Code einbinden:


require_once 'geoipcity.inc';
require_once 'geoipregionvars.php';

$sClientIp = $_SERVER['REMOTE_ADDR'];

$hGeoIp  = geoip_open( '/path/to/GeoLiteCity.dat', GEOIP_STANDARD );
$oRecord = geoip_record_by_addr( $hGeoIp, $sClientIp );

geoip_close( $hGeoIp );

echo 'City: '  . $oRecord->city;

Ein mögliches Einsatzgebiet ist, dass man durch die Verwendung von Geotargeting dem Besucher der Webseite gezielt Werbung aus dessen Region anzeigen kann.

KategorienPHP Tags: ,

Unittests mit SuperProxy

8. November 2009 Matze Keine Kommentare

Heute möchte ich euch jemanden vorstellen:

SuperProxy

Bei SuperProxy handelt es sich um eine Klasse, die es ermöglicht auf private und protected Methoden und Member zuzugreifen. Dies macht Sinn, wenn man in seinen UnitTests nicht nur das public interface testen möchte.

Mehr…

KategorienPHP, UnitTests Tags: ,