dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Fragen zum PHP Interpreter

Wie kann ich auf Kommandozeilen-Argumente zugreifen?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Wenn 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.

$_SERVER["argc"]

Anzahl der auf der Kommandozeile übergebenen Argumente.

$_SERVER["argv"]

Array mit den übergebenen Argumenten und dem Dateinamen im ersten Element.

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)
 $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
Wie kann ich auf Kommandozeilen-Argumente zugreifen?
http://www.php-faq.de/q-php-shell.html
 

dclp FAQ


Login