Die Tage, als Perl die Skriptsprache der Wahl für das Programmieren mit Kommandozeilen auf Linux-Systemen war, sind vorbei. Heutzutage steht eine ganze Anzahl von Programmiersprachen zur Verfügung, darunter Python, Ruby und PHP. Wer bereits PHP-Code für Websites schreibt und sich in der Sprache auskennt, wird PHP auf der Kommandozeile schnell und leicht einsetzen können.
Die wichtigsten Funktionen, die eine Programmiersprache in einem Skript auszuführen hat, sind die Dateienverarbeitung und die Aufnahme von Nutzereingaben. PHP geht hier ebenso konventionell zu Werke wie alle anderen Skriptsprachen.
Sollen zum Beispiel PHP-Nutzereingaben während der Ausführung eines Skripts gelesen werden, findet folgender Code Anwendung:
#!/usr/bin/php <?php function read_input() { $fp = fopen("/dev/stdin", "r"); $input = trim(fgets($fp, 255)); fclose($fp); return $input; } printf("Please supply your name: "); $name = read_input(); printf("nHello, $name.n"); ?>
Die oben definierte Funktion read_input() übernimmt Eingaben aus STDIN, speichert sie in der Variable $input, entfernt sämtlichen davor und dahinter liegenden Durchschuss und gibt sie wieder aus. Das gleiche Prinzip kann angewandt werden, um normale Dateien zu lesen und zu bearbeiten. Man bedenke, dass STDIN für Linux einfach nur eine Datei ist (daher wird im Beispiel oben /dev/stdin geöffnet).
#!/usr/bin/php <?php if (file_exists($argv[1])) { $file = $argv[1]; } else { printf("ERROR: File '$file' does not exist!n"); exit 1; } $data = file($file); $c = 1; foreach ($data as $line) { printf(sprintf("[%s]: %s", $c, $line)); $c++; }
Im oben angeführten Beispiel liest das PHP-Skript jede Zeile der in der Kommandozeile angegebenen Datei und gibt sie mit vorangestellter, fortlaufender Zeilennummer wieder aus. Wenn die Datei nicht existiert, druckt das Skript eine Fehlermeldung und wird mit Code 1 beendet. (Dies weist auf einen Fehler hin. Bei normalem Verlauf würde das Skript mit Code 0 beendet.) Die Funktion file() wird hier eingesetzt, da sie jede Zeile der Datei in ein Array einliest (in diesem Fall $data), das dann im Statement foreach() verwendet wird, um das Array einmal pro Zeile in der Datei durchzuarbeiten.
PHP muss nicht mehr nur für Web-Programmierung eingesetzt, sondern kann ohne großen Aufwand auch für das Programmieren mit Kommandozeilen verwendet werden. Dabei ist PHP auch flexibel und schnell. Ebenso kann nahezu alles, was man mit einem Webskript macht, etwa die Bearbeitung von Datenbanken, sehr leicht auch mittels eines Kommandozeilenskripts in PHP erledigt werden.
Neueste Kommentare
2 Kommentare zu PHP-Programmierung unter Linux
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Kein Quellcode lesbar.
Im prinzip ein guter Artikel – koennte ich
unter Firefox 3.0.6 nicht nur die Zeile
#!/usr/bin/php
lesen – sondern auch den im Text erwaehnten Quellcode.
AW: Kein Quellcode lesbar.
Danke für Ihren Hinweis. Der Fehler wurde korrigiert.
Die Redaktion