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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Etienne SOBOLE
Le #587041
"Sendell" 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

JeanMiMi
Le #586833
Etienne SOBOLE wrote:
"Sendell" 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>";
}
?>
--


Jean-Philippe
Le #585963
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>";
.

Publicité
Poster une réponse
Anonyme