Webentwickler stehen öfter mal vor den Herausforderungen, sich Datensätze von externen Internetauftritten zu holen um zum Beispiel Besucherzahlen auszulesen, aktuelle Feeds zu bekommen, obwohl es keinen RSS-Feed gibt.
cURL ist dabei die Abhilfe des Problems und kann problemlos unter Windows mit der Softwareinstallation XAMPP implementiert werden. XAMPP bietet in den zu ladenden *.dll-Dateien in der php.ini Datei bereits das cURL-Modul.
Um das cURL-Modul zu aktivieren, müssen gesamt nur zwei Dateien im Verzeichnis /xampp/apache/bin/ und /xampp/php/ die php.ini angepasst werden.
Um die gewünschte Stelle zur Aktivierung von cURL zu finden, nutzt die Suchfunktion eures Editors und sucht nach:
;extension=php_curl.dll
Um cURL nun zu aktivieren, muss das Semikolon am Anfang der Zeile entfernt werden. Dies führt ihr in beiden php.ini-Dateien von PHP und Apache durch und danach startet ihr über das "XAMPP Apache Control Panel Application" den Apache-Prozess neu.
Nach einer kurzen Weile wird der Apache-Prozess wieder gestartet und cURL ist nun in PHP aktiv.
Die Überprüfung ob cURL aktiv ist, ist über die phpinfo(); Funktion möglich.
Schreibt eine phpinfo.php Datei mit dem Inhalt:
<?php phpinfo(); ?>
und speichert diese dann ab. Nach dem Aufruf erhaltet ihr eine Übersicht der gesamten PHP-Konfiguration und wenn ihr nun nach dem Begriff "curl" sucht, werdet ihr das aktivierte Modul einsehen.
Taucht diese Information in dem phpinfo-Aufruf auf, dann habt ihr alles richtig gemacht.
Ein cURL-Request könnt ihr zum Beispiel wie folgt absenden:
$curl= curl_init();
$address = "http://www.google.de";
curl_setopt($curl, CURLOPT_URL, $address);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FILETIME, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
$curl_content = curl_exec($curl);
curl_close($curl);
echo $curl_content;
Als Rückgabewert würdet ihr nun den Internetauftritt von www.google.de erhalten und könnt diesen dann mittels preg_match_all(); filtern oder weiterverarbeiten.
Bildquelle (XAMPP): http://www.apachefriends.org/
