2

私は次のようにコードを書きました:

<?php
array_shift($argv);
$taskid=$argv[0];
$file1=file_get_contents($argv[1]);
$file2=fopen($argv[2],"w");
echo $taskid."\n".$file1."\n".$file2."\n";
?>

このプログラムを次のように実行しphp myfile.php 1 1.txt 2.txt ます。1はタスクID、1.txtは入力ファイル、2.txtは出力ファイルです。実行する必要があるような引数を渡さなくても実行されるように、このプログラムを変更したいと思いphp myfile.phpます。そのためのif条件を設定したいと思います。and if(argc == NULL)などの条件でif(*argv<=1)作業しましたが、どれも機能していません。

引数が渡されていないかどうかをチェックする完璧な条件が必要です。そうすれば、プログラムはユーザーフレンドリーなメッセージを表示するはずです。

誰かが私を助けることができますか?

4

2 に答える 2

5
if ($argc !== 4) {
  // show message 
于 2012-09-29T16:16:29.407 に答える
2

これを試して:

<?php
array_shift($argv);

if (empty($argv) || count($argv) != 3) {
  echo "Incorrect number of arguments\n";
}
else {
  $taskid = $argv[0];
  $file1 = file_get_contents($argv[1]);
  $file2 = fopen($argv[2],"w");
  echo $taskid . "\n" . $file1 . "\n" . $file2 . "\n";
}
于 2012-09-29T16:58:35.747 に答える