我正在编写一个应用程序,它从用户那里获取文本输入以生成文本文件。将生成的文本文件作为输入的bash脚本应该生成另一个脚本作为输出。
我尝试使用exec命令,但我不确定它是否有效。我想要这样的东西:
exec('generate.sh input.txt generated.sh');
generate.sh需要两个输入:
input.txt
file - 来自PHP页面的用户输入(文本用'\ n'分隔)generated.sh
- 生成的文件的名称(由'generate.sh'生成)。如何从PHP执行bash脚本以获得上述输出?
提前致谢。
答案 0 :(得分:0)
exec的整个参数需要是这样的字符串:
exec('generate.sh input.txt generated.sh');
答案 1 :(得分: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()来执行外部命令。