无法在php

时间:2016-08-29 21:13:27

标签: php linux

我试图连接刨丝器然后开始#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

2 个答案:

答案 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');希望这会有所帮助!