5.11. Wie kann ich auf Kommandozeilen-Argumente zugreifen?Antwort von Kristian KöhntoppWenn PHP über die Shell als Skriptsprache benutzt wird, ist es oft nützlich, auf der Kommandozeile Parameter zu übergeben. In PHP stehen die Variablen $_SERVER["argc"] und $_SERVER["argv"] zur Verfügung.
Wenn ein PHP-Skript über das Web aufgerufen wird, enthalten diese Variablen die über GET übergeben Argumente. Man kann dieses Verhalten in der php.ini-Datei abschalten ( register_argv_argc ). Beispiel:
tobias@dev:~ > cat arg.php
#! /usr/bin/php -q
# Getestet mit Suse Linux 8.1 (register_globals = off)
<?php
echo "argc = {$_SERVER['argc']}\n";
foreach ($_SERVER['argv'] as $k => $v) {
echo "_SERVER['argv'][$k] = $v\n";
}
tobias@dev:~ > ./arg.php foo bar baz
argc = 4
_SERVER['argv'][0] = /var/tmp/x.php
_SERVER['argv'][1] = foo
_SERVER['argv'][2] = bar
_SERVER['argv'][3] = baz
Antwort von Frank WiegandKomfortables Parsing der Argumente bietet das PEAR-Paket Console_Getopt. |
||
| 5.11. Wie kann ich auf Kommandozeilen-Argumente zugreifen? http://www.php-faq.de/q/q-php-shell.html |
||
| Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team | ||