O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

23.6 Dateien zeilenweise verarbeiten

Problem

Sie wollen schnell eine Liste aller Hostnamen aus einem Apache-Access-Log ermitteln, die auf Ihre Seite zugegriffen haben.

Lösung

Verwenden Sie die neuen Schalter des PHP 5-CLI-Binary, um das Access-Log zeilenweise auszulesen, ohne dazu erst ein Skript schreiben zu müssen:

% cat access.log | head -200 | php5 -B '$hosts = array();' -R 'list($ip) = explode(" ",
$argn, 2); $host = gethostbyaddr($ip); if (!in_array($host, $hosts)) array_push($hosts,
$host);' -E 'echo implode("\n", $hosts);'

Diskussion

PHP 5 bietet drei neue Optionen, wenn man es auf der Kommandozeile ausführt, die es einem ermöglichen, die Ausgabe eines Skripts oder auch eine Datei zeilenweise zu analysieren. Dazu werden drei Codeschnipsel angegeben: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required