Question

j'ai un fichier php qui lance mon exe. l'exe fait cout et le texte est imprimé en html ce qui est très bien. jusqu'à ce que j'écrive "someline \ n" ;; Le \ n casse la sortie et je ne vois que la dernière ligne. Comment puis-je imprimer / echo du texte / des chaînes comportant plusieurs lignes?

Le collage en cours a été commenté et mon texte est correctement imprimé. Il semble moche dans la console et quand je regarde la source avec IE7 (bien que je navigue principalement avec FF), la source est pénible à regarder. Voici mon fichier php et cpp actuel

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

cpp

#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;
}
Était-ce utile?

La solution

De http://php.net/exec :

  

Valeurs de retour

     

La dernière ligne du résultat de la commande. Si vous devez exécuter une commande et faire en sorte que toutes les données de la commande soient directement renvoyées sans aucune interférence, utilisez le passthru () fonction.

La fonction exec () ne renvoie que la dernière ligne de sortie, mais passthru () renvoie tout le résultat.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top