PHP:
Lesen von Kommandozeilenargumenten
So geht’s:
Mit $argv
und $argc
kannst du auf die Argumente zugreifen:
<?php
// test.php
if ($argc > 1) {
echo "Hallo " . $argv[1] . "!\n";
} else {
echo "Bitte gib deinen Namen an.\n";
}
Starte das Skript so:
$ php test.php Max
Hallo Max!
Deep Dive
In PHP sind $argv
und $argc
globale Variablen, die Argumente aus der Kommandozeile erfassen – argv
steht für “argument values” und argc
für “argument count”.
Historisch gesehen ist diese Praxis aus den C-Programmiersprachen entstanden und wurde auch in PHP implementiert, um Skripten Kommandozeilenflexibilität zu geben. Alternativ gäbe es Funktionen wie getopt()
, die eine detaillierte Analyse von Optionen ermöglichen. Aber für einfache Fälle reicht die Nutzung von $argv
und $argc
völlig aus.
Was wichtig ist: php.ini
muss so konfiguriert sein, dass register_argc_argv
auf On steht (standardmäßig der Fall). Ohne diese Einstellung stehen $argv
und $argc
nicht zur Verfügung.
Siehe Auch
- Die offizielle PHP-Dokumentation zum Umgang mit Kommandozeilenparametern: PHP: Command line usage
- Eine detaillierte Erklärung zu
getopt()
: PHP: getopt