在 C++ 中为 php 创建脚本

Make script in c++ for php

我正在制作一个网站,PHP 对我来说还不够强大,所以我决定也使用 C++。我制作了执行预期操作的 EXE 文件,但我不知道如何在 php 中获取输出,我计算了输出,我认为这会起作用,所以我做错了什么。

PHP:

exec(str_replace('\classes', '', dirname(__FILE__)) . '\data\vedur ', $row);

C++:

cout << data;

您所做的应该有效(只要您打印 $row)。
但这可能不是最有效的,因为它执行命令并构建数组(因此数据在可执行文件完成之前不可用)。

使用popen()会更好。这将执行命令,但将可执行文件的输出作为文件流提供(对于代码的其余部分,它看起来像一个打开的文件)。所以你可以像读取文件一样读取流。

$handle = popen(str_replace('\classes', '', dirname(__FILE__)) . '\data\vedur ');

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // process the line read.
    }

    pclose($handle);
} else {
    // error opening the file.
} 

注意:我的 PHP foo 不强。因此,请进行适当的检查。

另一个注意事项:我假设您是从 PHP 调用 C++,因为您正在使用 PHP 生成所有正确的 headers 等

但是,如果您可以从 C++ 执行此操作,则可以直接从 Web 服务器调用 C++,而无需使用 PHP 层。