Exec en PHP

Résolu/Fermé
kaotic13 Messages postés 174 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 22 juin 2022 - 31 mars 2013 à 06:47
kaotic13 Messages postés 174 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 22 juin 2022 - 31 mars 2013 à 20:48
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..



A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
31 mars 2013 à 12:22
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".
0
kaotic13 Messages postés 174 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 22 juin 2022 15
31 mars 2013 à 19:30
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..
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
31 mars 2013 à 20:41
<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.
0
kaotic13 Messages postés 174 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 22 juin 2022 15
31 mars 2013 à 20:48
J'ai effectivement essayer sa avant que vous le mettez, j'avais oublier le array();
Je vous remercie je mais en résolu :)
0