par
chrislabricole » 15 avr. 2009, 18:02
Bon, voilà se que ça donne, j'avais déjà réussi à faire ça, mais il y a 2 problèmes :
1) Il faut marquer à l'endroit de la première ligne du deuxième jour, là, il me marque à chaque fois que je change d'heure...
2) Comment faire pour marquer avec un <hr /> pile poil à la fin du premier jour ? Donc pour couper le premier jour du deuxième jour, et pour enlever la partie vieille de 2 jours du Log.
Voici le code :
$lines = file(LOG_PATH);
$line_number = count($lines)-1;
$i = $line_number;
while( ($i <= $line_number) && ($i >= 0) ){ // Je préfère faire une While en décrémentation, comme on lis en sens inverse, t'en qu'à faire :P
list($hour, $minut, $second) = explode(':', substr($lines[$i], 1, 8)); // Récupération des horaires
if( ($line_number-$i) == 0 ){ // Si c'est la 1ère execution de la boucle
$conserve_Premiere_Heure = $hour; // On enregistre la première heure dans une variable
} else {
if( $hour < $conserve_Premiere_Heure ){ // Si l'heure courante est inférieure à la 1ère heure enregistrée ...
$conserve_Premiere_Heure = $hour; // On enregistre alors l'heure dans la même variable
$contents .= '<b style="color:#FF0000;">Enregistrée</b>';
} else {
$contents .= '<b style="color:#00FF00;">'.$hour.' > '.$conserve_Premiere_Heure.'</b>';
}
}
$contents .= ' '.($line_number-$i).' : '.$hour.':'.$minut.':'.$second.'<br />';
$i--; // Décrémentation pour la While
}
Je précise qu'avec ça, on obtient un Log à l'envers (Première ligne la plus récente et dernière ligne la plus ancienne...)
Merci de votre aide !

Bon, voilà se que ça donne, j'avais déjà réussi à faire ça, mais il y a 2 problèmes :
1) Il faut marquer à l'endroit de la première ligne du deuxième jour, là, il me marque à chaque fois que je change d'heure...
2) Comment faire pour marquer avec un <hr /> pile poil à la fin du premier jour ? Donc pour couper le premier jour du deuxième jour, et pour enlever la partie vieille de 2 jours du Log.
Voici le code :
[php] $lines = file(LOG_PATH);
$line_number = count($lines)-1;
$i = $line_number;
while( ($i <= $line_number) && ($i >= 0) ){ // Je préfère faire une While en décrémentation, comme on lis en sens inverse, t'en qu'à faire :P
list($hour, $minut, $second) = explode(':', substr($lines[$i], 1, 8)); // Récupération des horaires
if( ($line_number-$i) == 0 ){ // Si c'est la 1ère execution de la boucle
$conserve_Premiere_Heure = $hour; // On enregistre la première heure dans une variable
} else {
if( $hour < $conserve_Premiere_Heure ){ // Si l'heure courante est inférieure à la 1ère heure enregistrée ...
$conserve_Premiere_Heure = $hour; // On enregistre alors l'heure dans la même variable
$contents .= '<b style="color:#FF0000;">Enregistrée</b>';
} else {
$contents .= '<b style="color:#00FF00;">'.$hour.' > '.$conserve_Premiere_Heure.'</b>';
}
}
$contents .= ' '.($line_number-$i).' : '.$hour.':'.$minut.':'.$second.'<br />';
$i--; // Décrémentation pour la While
}[/php]
Je précise qu'avec ça, on obtient un Log à l'envers (Première ligne la plus récente et dernière ligne la plus ancienne...)
Merci de votre aide ! :)