php Eco / stampa una stringa multilinea?
Domanda
Ho un file php che avvia il mio exe. exe cout e il testo è stampato in html che va bene. finché non scrivo " someline \ n " ;; Il \ n interrompe l'output e vedo solo l'ultima riga. Come faccio a stampare / echo testo / stringhe che contengono righe multiple?
La copia corrente è stata commentata e il mio testo viene stampato correttamente. Sembra brutto nella console e quando visualizzo la fonte con IE7 (anche se sfoglio principalmente con FF) la fonte è dolorosa da guardare. Ecco il mio attuale file php e cpp
<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;
}
Soluzione
Da http://php.net/exec :
Valori di ritorno
L'ultima riga dal risultato del comando. Se devi eseguire un comando e fare in modo che tutti i dati del comando vengano restituiti direttamente senza alcuna interferenza, utilizza passthru () funzione.
La funzione exec () restituisce solo l'ultima riga di output, ma passthru () restituisce tutto output.