<form action="index.php" method="POST">
<input name="field1" type="text" />
<input type="submit" name="submit" value="Save Data">
</form>
<?php
field=$_POST["field1"]
exec('command 2>&1' $output);
print_r($output);
?>
我试图将字段追加到exec的末尾。 Field是可变的,并通过使用html表单从用户获取其值。但是我得到服务器500 error
可能是因为我错了。
我试过了:
exec('command 2>&1', $field, $output);
exec('command $field 2>&1', $output);
exec('command 2>&1', .$_POST["field1"]. $output);
如何正确使用?
答案 0 :(得分:1)
使用shell_exec:
<?php
field = $_POST["field1"];
$output = shell_exec("command 2>&1 ". escapeshellarg($field));
print_r($output);
?>
答案 1 :(得分:0)
尝试:
exec("command $field 2>&1", $output);
请参阅What is the difference between single-quoted and double-quoted strings in PHP?
但由于该字段来自未经验证的用户输入,因此您应首先将其转义。
exec('command ' . escapeshellarg($field) . ' 2>&1', $output);
答案 2 :(得分:0)
exec('command ' . escapeshellarg($_POST["field1"]) . ' 2>&1', $output);
print_r($output);
感谢大家向我的问题发帖子。上面的代码对我有用。