ホームページ  >  記事  >  バックエンド開発  >  コマンドラインから PHP スクリプトに変数を渡すにはどうすればよいですか?

コマンドラインから PHP スクリプトに変数を渡すにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-17 13:10:01417ブラウズ

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

コマンド ラインからの PHP の使用: スクリプトに変数を渡す

コマンド ラインから PHP スクリプトを実行すると、タスクを自動化する便利な方法になります。 。ただし、これらのスクリプトに変数を渡すと、混乱を招く可能性があります。この記事では、コマンド ラインから呼び出された PHP スクリプトに変数を効果的に渡す方法について説明します。

問題

URL クエリ文字列形式を使用して変数を渡そうとすると、 「入力ファイルを開けませんでした: myfile.php?type=daily」のようなエラーが発生する場合があります。これは、クエリ文字列形式が Web アクセスのページでのみ有効であるためです。

解決方法

コマンド ラインから PHP スクリプトに変数を渡すには、次のようにします。 $argv 配列を利用する必要があります。方法は次のとおりです:

1. $argv

から変数を取得する コマンドラインから PHP スクリプトを実行すると、渡されたパラメータは $argv 配列に保存されます。最初の要素 ($argv[0]) はスクリプトのファイル名で、後続の要素にはパラメータが含まれます。特定のパラメータの値を取得するには、配列内のそのインデックスを使用します。たとえば、「type」パラメータの値を取得するには、$argv[1].

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 を使用します。 。 Web アクセスも処理する

スクリプトが Web ページとしても使用されている場合は、スクリプトがコマンド ラインから呼び出されているかどうかを確認し、それに応じて変数の受け渡しを処理できます。

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

3. Wget またはシェル スクリプトの使用

コマンド ラインから実行中に URL のような構文を使用してスクリプトにアクセスする場合は、シェル スクリプトまたは Wget を使用してクエリをリモートで実行できます。

シェル スクリプト:

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

次のようにしますメソッドを使用すると、コマンド ラインから実行される PHP スクリプトに効果的に変数を渡すことができ、タスクを自動化し、データを効率的に処理できるようになります。

以上がコマンドラインから PHP スクリプトに変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。