php Echo / печать многострочной строки? - PullRequest
1 голос
/ 05 ноября 2008

У меня есть php-файл, запускающий мой exe. exe делает cout, и текст печатается в HTML, что все в порядке. пока я не напишу "someline \ n"; \ N прерывает вывод, и я вижу только последнюю строку. Как распечатать / отразить текст / строки, в которых есть мультилинии?

Текущая вставка закомментирована \ n, и мой текст печатается нормально. Это выглядит ужасно в консоли, и когда я просматриваю источник с помощью IE7 (хотя я в основном просматриваю с помощью FF), на источник трудно смотреть. Вот мои текущие файлы php и cpp

<html>
<head>
</head>
<body>
<?php
echo( exec('c:/path/to/exe/launchMe.exe hey lol hi') );
?>
</body>
</html>

касты

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

const string htmlLine(string s)
{
    s+= "<br />";
//  s += "\n";
    return s;
}

int main(int argc, char *argv[])
{
    stringstream s;
    s << argc;
    cout << htmlLine("woot") << htmlLine(s.str());
    for (int i=0; i<argc; ++i)
    {
        s.str("");
        s << i << " = " << argv[i];
        cout << htmlLine(s.str());
    }
    return 0;
}

1 Ответ

5 голосов
/ 05 ноября 2008

С http://php.net/exec:

Возвращаемые значения

Последняя строка из результата команды. Если вам нужно выполнить команду и передать все данные из команды напрямую обратно без каких-либо помех, используйте функцию passthru () .

Функция exec () возвращает только последнюю строку вывода, но passthru () возвращает все выходные данные.

...