C++调用PHP

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  本文是对网络上现成代码的学习与解读!

  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;

上一页12下一页

视频学习

我考网版权与免责声明

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

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

最近更新

社区交流

考试问答