C++调用PHP
C++调用PHP
来源:网络发布时间:2010-07-16
本文是对网络上现成代码的学习与解读!
PHP是比较流行的脚本语言,WEB开发使用广泛,如何在C++程序中不依赖任何WEB SERVER调用PHP,并取得执行结果完成交互,这是本文代码所要实现的功能。
PHP安装好后,在目录下有一个php-cgi.exe,我们只要执行这个CGI程序,并将数据通过命名管道传递给它,然后把执行结果通过命名管道读取出来即可,过程并不复杂!请看如下代码:
命名管道的创建:
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES)};
sa.bInheritHandle = 1;
sa.lpSecurityDescriptor = NULL;
HANDLE hStdoutR, hStdoutW, hStdinR, hStdinW;
CreatePipe(&hStdoutR, &hStdoutW, &sa, 0);
SetHandleInformation(hStdoutR,HANDLE_FLAG_INHERIT, 0);
CreatePipe(&hStdinR, &hStdinW, &sa, 0);
SetHandleInformation(hStdinW, HANDLE_FLAG_INHERIT, 0);
启动php-cgi进程: STARTUPINFO si = {sizeof(STARTUPINFO)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdOutput = hStdoutW;
si.hStdInput = hStdinR;
char env[255] = "REQUEST_METHOD=POST\0CONTENT_LENGTH=18\0CONTENT_TYPE=
application/x-www-form-urlencoded\0SCRIPT_FILENAME=D:\\test.php";
if(!CreateProcess(NULL, "d:\\php5\\php-cgi.exe D:\\test.php",
NULL, NULL, 1, NORMAL_PRIORITY_CLASS, env, NULL, &si, &pi))
return 0;
【纠错】
阅读上一篇:数据结构C语言实现系列:队列
阅读下一篇:JSP获取服务器参数
【】【进入社区】
- 分享到:
看了本文的网友还看了
2012年各省国际商务师考试准考证打印时间2011年国际商务师考试成绩查询时间汇总
·[2012年国际商务师考试国际商法套题及答案汇总]·[2012年国际商务师考试国际贸易理论与实务辅导]
·2012年计算机二级VB上机试题及解题思路(173)
·2012年计算机二级VB上机试题及解题思路(172)
·2012年计算机二级VB上机试题及解题思路(171)
·2012年计算机二级VB上机试题及解题思路(170)
·2012年计算机二级VB上机试题及解题思路(168)
·2012年计算机二级VB上机试题及解题思路(169)
·2012年计算机二级VB上机试题及解题思路(167)
·2012年计算机二级VB上机试题及解题思路(166)
·2012年计算机二级VB上机试题及解题思路(165)
·2012年计算机二级VB上机试题及解题思路(164)
·2012年计算机二级VB上机试题及解题思路(163)
·2012年计算机二级VB上机试题及解题思路(162)
育路版权与免责声明
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:育路网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为育路网发布的内容可能涉嫌侵犯其合法权益,应该及时向育路网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,育路网在收到上述法律文件后,将会尽快移除被控侵权内容。