在PHP中是否有办法使exec()
或其变体之一运行需要在执行会话中输入用户的系统命令。例如,可以是FTP transfer
,或者甚至只是带有more
标志的print语句命令。比如说在Windows command prompt
我做了type bigfile.txt | more
它给了我一个输出屏幕然后我用键盘让下一行出现。
从浏览器运行时,有没有办法使用任何PHP命令行执行函数捕获此行为?如果没有在标准PHP中,是否有任何PEAR
/ PECL
资源,任何人在此之前使用过这些资源?
答案 0 :(得分:0)
您可以使用proc_open执行此操作,它可以以非阻塞方式使用,并为您提供输入和输出管道。
然而,根据经验,我只会尝试将此作为最后的手段。使用非交互式可执行文件或本机PHP库通常可以维护得更多。例如,当你只能proc_open('mycommand | more')
exec('mycommand')
的理由。