繁体   English   中英

将数据从C ++传递到PHP

[英]Passing data from C++ to PHP

我需要将值从PHP传递给C ++。 我想我可以使用PHP的passthru()函数。 然后我希望C ++对该值执行某些操作并将结果返回给PHP。 这是我无法解决的问题,有谁知道如何将数据从C ++传递到PHP? 我宁愿不使用中间文件,因为我认为这会减慢速度。

您可以让您的c ++应用程序将其输出发送到stdout,然后使用反引号从PHP调用它,例如

$output=`myapp $myinputparams`;

哇非常感谢Columbo和Paul Dixon。

现在我可以运行php来调用c ++ thn传回值到php~ =)

在这里,我提供了一个示例cpp和php:

一个简单的程序,用于添加输入:

a.cpp(a.exe):

#include<iostream>
#include<cstdlib>
using namespace std;

int main(int argc, char* argv[]) {
  int val[2];
  for(int i = 1; i < argc; i++) { // retrieve the value from php
      val[i-1] = atoi(argv[i]);
  }
  int total = val[0] + val[1]; // sum up
  cout << total;  // std::cout will output to php
  return 0;
}

sample.php:

<?php
    $a = 2;
    $b = 3;
    $c_output=`a.exe $a $b`; // pass in the two value to the c++ prog
    echo "<pre>$c_output</pre>"; //received the sum
    echo "Output: " . ($output + 1); //modify the value in php and output
?>

输出:

5
Output: 6

这篇关于在PHP扩展中包装C ++类的文章可能有所帮助。

编辑:其他答案中的所有解决方案都简单得多,但灵活性较差。 这一切都取决于你需要什么。

如果需要与正在运行的C ++程序进行通信,则localhost上的套接字连接可能是最简单,最独立于平台且最广泛支持的两个进程之间通信的解决方案。 传统上,套接字构建为通过网络接口进行通信,但我已经看到它们在很多情况下用作管道的方法。 它们无处不在,并且在大多数现代语言中得到支持。

这是套接字编程C指南。 为您的C ++程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM