C++调用PHP

2012 年 12 月 16 日4320

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)

育路版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:育路网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为育路网发布的内容可能涉嫌侵犯其合法权益,应该及时向育路网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,育路网在收到上述法律文件后,将会尽快移除被控侵权内容。

0 0