0

ユーザーからのテキスト入力を受け取ってテキストファイルを生成するアプリケーションを作成しています。生成されたテキストファイルを入力として受け取るbashスクリプトは、別のスクリプトを出力として生成する必要があります。

execコマンドを使用してみましたが、機能するかどうかわかりません。私はこのようなものが欲しい:

exec('generate.sh input.txt generated.sh');

generate.shは2つの入力を取ります:

  1. input.txtファイル-PHPページからのユーザー入力があります(テキストは「\ n」で区切られます)
  2. generated.sh-生成されたファイルの名前(「generate.sh」によって生成されます)。

PHPからbashスクリプトを実行して、上記の出力を取得するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

0

exec への引数全体は、次のような文字列である必要があります。

exec('generate.sh input.txt generated.sh');
于 2012-08-14T14:34:25.357 に答える
0
$generate = '/path/to/generate.sh';
$input = '/path/to/input.txt';
$generated = '/path/to/generated.sh';

if(file_exists($generate))
{
    chmod($generate, 0755);
    if(file_exists($input))
    {
        exec($generate.' '.$input.' '.$generated);
    }
    else
    {
        echo "Input file not found: ".$input."<br />";
    }
}
else
{
    echo "Generate file not found: ".$generate."<br />";
}

さらに、system()、shell_exec()、passthru()、または proc_open() を使用して外部コマンドを実行することも検討できます。

于 2012-08-14T14:59:07.253 に答える