我需要通过从PHP到C ++的值。我想我可以用PHP的passthru()功能做。 然后我想C ++做的东西的值,并将结果返回给PHP。 这是位我不能工作了,没有人知道如何从C ++数据传递给PHP? 因为我想这会慢下来我宁可不使用中间文件。

有帮助吗?

解决方案

您可以有你的C ++应用程序的输出发送到标准输出,然后用PHP的反引号时,例如

$output=`myapp $myinputparams`;

其他提示

哇非常感谢到钶&保罗迪克森。

现在我可以运行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

如果你需要传达到正在运行的C ++程序,在本地主机插座连接可能最简单的,最具有平台无关 和最广泛支持的解决方案,这两个过程之间的通信。套接字是传统风格建造了网络接口进行通信,但我已经看到他们在许多情况下,作为做管的方法。他们是相当普遍存在,在大多数现代语言的支持。

这里的一个Ç指南套接字编程。获取您的C ++程序。

这篇文章关于PHP扩展可能有助于封装C ++类。

编辑:在其他的答案所有的解决方案变得非常简单,但不够灵活。这一切都取决于你所需要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top