Bonjour.
J'ai utilise un simple file_get_content pour recuperer les log d'un serveur de jeu mais je souhaiterais pouvoir cacher certaines lignes inutile sur un panel.
file_get_contents("*******************/logs/latest.log");
La ligne a cacher en question se présente sous ce format :
[16:37:18] [RCON Listener #2/INFO]: Rcon connection from:
J'ai repensé mon code pour avoir celui ci mais il ne me renvoie rien:
$result = "";
$handle = fopen('*************/logs/latest.log', 'r');
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle);
if (preg_match("@^(?:[RCON Listener #2/INFO)?([^/]+)@i",$buffer)) {
$buffer = "";
}
$result = $return . " \n" . $buffer;
}
fclose($handle);
}
echo $result;
Merci de votre aide :-)
Tu l'as placé comment ton strpos() ?
Sinon, une autre chose que je viens de voir, sur cette ligne
$result = $return . " \n" . $buffer;
je pense que ça devrait être :
$result = $result . " \n" . $buffer;
Vu que tu n'as l'air d'utiliser le retour de ton preg_match uniquement pour vérifier s'il y a la chaîne [RCON Listener #2/INFO], peut être que tu devrais utiliser un strpos($buffer, '[RCON Listener #2/INFO]'); ?
$result = "";
$handle = fopen('ftp://****************/logs/latest.log', 'r');
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle);
if (strpos($buffer, '[RCON Listener #2/INFO]')) {
$buffer = "";
}
$result = $result . " \n" . $buffer;
}
fclose($handle);
}
echo $result;
J'ai en retour plusieurs ligne d'espace
EDIT : ça fonctionne merci de ton aide