Exec en PHP

[Résolu/Fermé]
Signaler
Messages postés
174
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
4 août 2013
-
Messages postés
174
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
4 août 2013
-
Bonjour, j'aimerais exécuter via PHP sur mon serveur linux :
echo exec('cat /fichier/meslog.log'); pour afficher mes logs, sauf que sa affiche que ma dernière ligne.. J'aimerais donc afficher les 30 dernières lignes..

Merci de votre compréhension..



2 réponses

Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 259
La doc de exec dit qu'un deuxième paramètre "array &$output" doit être passé pour récupérer les lignes (dans un array).
"J'aimerais donc afficher les 30 dernières lignes.. ": pour avoir les 30 dernières lignes, n'utilise pas
cat
mais
tail -n 30 /fichier/meslog.log
, où "-n 30" spécifie "seulement les 30 dernières lignes".
Messages postés
174
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
4 août 2013
15
Je te remercie de cette réponse, mais ayant testé ça ne marche pas, juste la dernière ligne s'affiche.. Je ne comprend vraiment plus rien..
Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 259
<pre><?php
$lines = array();
exec("tail -n 30 /fichier/meslog.log", $lines);
print_r($lines);
?></pre>
$lines est un tableau contenant les lignes.
Assurez vous bien d'avoir les droits de lecture, sinon il n'en ressortira rien.
Messages postés
174
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
4 août 2013
15
J'ai effectivement essayer sa avant que vous le mettez, j'avais oublier le array();
Je vous remercie je mais en résolu :)