Lesen von Kommandozeilenargumenten

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