コマンド ラインからの 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 サイトの他の関連記事を参照してください。