我试图连接刨丝器然后开始#34;>"到一个字符串
我使用的是代码,但输出看起来与我想要的不同,
<?php
$target_file="home.txt"
$caract = htmlspecialchars(">");
$command = escapeshellcmd('sudo python test.py '.$target_file.$caract.' out.txt');
$output = shell_exec($command);
echo $command;
?>
我也试过&#34;&amp; gt&#34;但它给出了相同的结果
这是echo $命令的输出;它是怎么回事:
sudo python test.py home.txt \>\; out.txt
我想要那样:
sudo python test.py home.txt > out.txt
答案 0 :(得分:1)
如果您使用用户输入作为执行命令的一部分,通常应调用escapeshellcmd。如果你不这样做,你应该简单地调用shell_exec(command);
shell_exec('sudo python test.py ' . $target_file . ' > out.txt');
答案 1 :(得分:1)
请勿使用htmlspecialchars()
,因为shell_exec
无法理解HTML。
你应该使用@ArtisticPhoenix提供的代码:shell_exec('sudo python test.py '.escapeshellarg( $target_file ).' > out.txt');
希望这会有所帮助!