首页 / PHP / PHP调用控制台EXE程序的步骤
PHP调用控制台EXE程序的步骤
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP调用控制台EXE程序的步骤,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1198字,纯文字阅读大概需要2分钟。
内容图文
![PHP调用控制台EXE程序的步骤](/upload/InfoBanner/zyjiaocheng/224/b94679197e9b47f386cbb8efda89d68f.jpg)
1. 可以使用的函数有:exec、system、passthru、popen及反单引号五种,区别如下:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
以上三个函数的相同点:都可以获得命令执行的返回值。
popen()是以管道方式打开,只能读或只能写,无法同时读写,也无法得到执行的返回值。
反单引号不输出结果,可以保存所有结果,无法得到执行的返回值。
2. 针对EXE程序中有输入情况的处理办法(main参数除外,因为可以放在命令行中,这里要处理的是cin、scanf这些需要在运行时输入的参数):
C++程序如下:test.cpp
#include
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a + b << endl;
}
那么在PHP中可以简单使用echo管道即可:
system("echo 1 2 | test.exe");
然而,如果C++程序中有以行为单位的字符串输入,例如:
#include
#include
using namespace std;
int main()
{
string str;
while(getline(cin, str))
{
cout << str << endl;
}
}
若需要输入多行,则若在Linux平台,可以用echo -e管道来解决:
system("echo -e ‘str1\nstr2’ | test.exe");
如果在Windows平台,echo没有-e参数,就必须一次执行两次或多次echo,如下:
system("( echo str1 & echo str2 ) | test.exe");
内容总结
以上是互联网集市为您收集整理的PHP调用控制台EXE程序的步骤全部内容,希望文章能够帮你解决PHP调用控制台EXE程序的步骤所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。