Heim >Backend-Entwicklung >PHP-Tutorial >Wie übergebe ich Variablen über die Befehlszeile an PHP-Skripte?

Wie übergebe ich Variablen über die Befehlszeile an PHP-Skripte?

Linda Hamilton
Linda HamiltonOriginal
2024-11-17 13:10:01485Durchsuche

How Do I Pass Variables to PHP Scripts From the Command Line?

PHP über die Befehlszeile verwenden: Variablen an Skripte übergeben

Das Ausführen von PHP-Skripten über die Befehlszeile kann eine bequeme Möglichkeit sein, Aufgaben zu automatisieren . Allerdings kann die Übergabe von Variablen an diese Skripte verwirrend sein. In diesem Artikel wird erläutert, wie Sie Variablen effektiv an PHP-Skripte übergeben, die über die Befehlszeile aufgerufen werden.

Das Problem

Beim Versuch, Variablen mithilfe des URL-Abfragezeichenfolgenformats zu übergeben, Möglicherweise tritt ein Fehler wie dieser auf: „Eingabedatei konnte nicht geöffnet werden: myfile.php?type=daily.“ Dies liegt daran, dass das Abfragezeichenfolgenformat nur für Seiten gültig ist, auf die über das Internet zugegriffen wird.

解决方案

Um Variablen über die Befehlszeile an PHP-Skripte zu übergeben, müssen Sie Folgendes tun Sie müssen das Array $argv verwenden. So geht's:

1. Variablen von $argv abrufen

Wenn Sie ein PHP-Skript über die Befehlszeile ausführen, werden die an das PHP-Skript übergebenen Parameter im Array $argv gespeichert. Das erste Element ($argv[0]) ist der Dateiname des Skripts, während nachfolgende Elemente die Parameter enthalten. Um den Wert eines bestimmten Parameters abzurufen, verwenden Sie seinen Index im Array. Um beispielsweise den Wert des Parameters „type“ zu erhalten, würden Sie $argv[1] verwenden.

Code:

<?php
// Check if the script was called from the command line
if (defined('STDIN')) {
  // Get the type parameter from $argv
  $type = $argv[1];
}
?>

2 . Auch den Webzugriff verarbeiten

Wenn das Skript auch als Webseite verwendet wird, können Sie prüfen, ob es über die Befehlszeile aufgerufen wird oder nicht, und die Variablenübergabe entsprechend behandeln:

<?php
if (defined('STDIN')) {
  // Running from command line
  $type = $argv[1];
} else {
  // Running as a web page
  $type = $_GET['type'];
}
?>

3. Verwenden von Wget oder einem Shell-Skript

Wenn Sie über eine URL-ähnliche Syntax auf das Skript zugreifen möchten, während Sie es über die Befehlszeile ausführen, können Sie ein Shell-Skript oder Wget verwenden, um die Abfrage remote auszuführen:

Shell-Skript:

#!/bin/sh
wget http://location.to/myfile.php?type=daily

Indem Sie diese Methoden befolgen, können Sie Variablen effektiv an PHP übergeben Skripte, die über die Befehlszeile ausgeführt werden, sodass Sie Aufgaben automatisieren und Daten effizient verarbeiten können.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen über die Befehlszeile an PHP-Skripte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn