通过传递字符串参数使用shell_exec()执行目标文件

时间:2013-09-02 10:33:38

标签: php shell-exec

我正在执行目标文件b,这是通过以这种方式从php页面执行c ++程序实现的:

<?php
//sent has value "http://www.paulgraham.com/herd.html"
$url=$_POST['sent'];
$text = file_get_contents($url);
$temp=escapeshellarg(strip_tags($text));
//$temp = "one one two";
$output=shell_exec("/home/technoworld/Videos/LinSocket/Extra/Modular2/b " . $temp);
echo $output;
?>

当我通过$temp = "one one two";时,它会给出结果:

Client : /home/technoworld/Videos/LinSocket/Extra/Modular2/b filename @ar[0]=0;ar[1]=0@

当我在命令行中执行./b "one one two"时,它会给我结果:

technoworld@ubuntu:~/Videos/LinSocket/Extra/Modular2$ ./b "one one,wo"
Client : 

string is :one one,wo 

one one wo 

 @ar[0]=1;ar[1]=2@ 

那么为什么从php文件传递它会产生错误的结果呢?

当我将$temp中的网页内容作为参数从$text = file_get_contents($url); $temp=escapeshellarg(strip_tags($text));传递出去时,它在浏览器上没有显示任何内容?

有人可以确定这里的问题是什么吗?

0 个答案:

没有答案