php 如何利用管道(pipe)与shell互交

如在linux里删除文件file,执行命令rmfile后就会出现一个选项rm:removeregularfile`file'?这时再输入不同的指令来完成不同的效果。这种功... 如在linux里删除文件file,执行命令
rm file
后就会出现一个选项
rm: remove regular file `file'?

这时再输入不同的指令来完成不同的效果。
这种功能怎么用php脚本实现呢?并且我要获取shell返回的选项信息

据说可以用双向管道来做,proc_open但找了半天也没找到一个有用的例子,哪个牛人给我说说啊~~
展开
 我来答
nusicvvv
2012-07-07 · TA获得超过2575个赞
知道大有可为答主
回答量:3576
采纳率:33%
帮助的人:2002万
展开全部
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
2 => array("file", "./error-output.txt", "a") // stderr is a file to write to
);
$cwd = '/tmp';
$exta = array('bypass_shell' => true);

$process = proc_open("C:\\APMServ\\APMServ5.2.6\\www\\Lk\\lkwizard.exe", $descriptorspec, $pipes, null, null, $exta);
if (is_resource($process))
{
fclose($pipes[0]);
echo stream_get_contents($pipes[1]);
fclose($pipes[1]);
// It is important that you close any pipes before calling
// proc_close in order to avoid a deadlock
$return_value = proc_close($process);
// echo "command returned $return_value\n";
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式