Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Afficher plusieurs lignes de resultat de l'execution d'une commande

3 réponses
Avatar
Sendell
Bonjour,
Je souhaiterai executer une commande via php et afficher le resultat sur une
page; le probleme avec system(), passthru() ou exec() est qu'elles ne
semblent renvoyer que la derniere ligne du resultat; comment pourrai-je
faire pour afficher tout ce que me renvoie ma commande ??
J'ai essayé popen(), mais je n'arrive pas a l'utiliser, bien que cela me
semble etre une bonne piste
Merci

3 réponses

Avatar
Etienne SOBOLE
"Sendell" a écrit dans le message de
news:c6h0fe$2avi$
Bonjour,
Je souhaiterai executer une commande via php et afficher le resultat sur
une

page; le probleme avec system(), passthru() ou exec() est qu'elles ne
semblent renvoyer que la derniere ligne du resultat; comment pourrai-je
faire pour afficher tout ce que me renvoie ma commande ??


essaye:

$cmd = 'ls -l /tmp';
exec($cmd, $tOut);
var_dump($tOut);

ca devrait te resoudre ton probleme.
Etienne

Avatar
JeanMiMi
Etienne SOBOLE wrote:
"Sendell" a écrit dans le message de
news:c6h0fe$2avi$
Bonjour,
Je souhaiterai executer une commande via php et afficher le resultat
sur une page; le probleme avec system(), passthru() ou exec() est
qu'elles ne semblent renvoyer que la derniere ligne du resultat;
comment pourrai-je faire pour afficher tout ce que me renvoie ma
commande ??


essaye:

$cmd = 'ls -l /tmp';
exec($cmd, $tOut);
var_dump($tOut);

ca devrait te resoudre ton probleme.
Etienne
Merci, j'avais pas fait attention au fait que ca me renvoyais un tableau si

je precisais la variable en argument...
Voici la solution finalement utilisée:

<?
exec($cmd, $out);
$lignes = count($out);
for ($i = 0; $i <= $lignes; $i++) {
echo $out[$i],"<br>";
}
?>
--


Avatar
Jean-Philippe
Merci, j'avais pas fait attention au fait que ca me renvoyais un tableau si
je precisais la variable en argument...
Voici la solution finalement utilisée:

<?
exec($cmd, $out);
$lignes = count($out);
for ($i = 0; $i <= $lignes; $i++) {
echo $out[$i],"<br>";
}
?>
--


Tu peux même l'écrire encore plus simplement avec itération implicite ;-)

exec($cmd, $out);
foreach ($out as $clef => $valeur )
echo $valeur."<br>";
.