Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
informatique:langage:php:simuler-tail-en-php [2023/02/02 07:45] – supprimée - modification externe (Unknown date) | informatique:langage:php:simuler-tail-en-php [2023/02/02 07:45] (Version actuelle) – ↷ Page déplacée de informatique:simuler-tail-en-php à informatique:langage:php:simuler-tail-en-php Cédric ABONNEL | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Simuler tail en PHP ====== | ||
+ | {{ : | ||
+ | {{tag> | ||
+ | |||
+ | <code PHP> | ||
+ | <?php | ||
+ | $handle = popen(" | ||
+ | while(!feof($handle)) { | ||
+ | $buffer = fgets($handle); | ||
+ | echo " | ||
+ | ob_flush(); | ||
+ | flush(); | ||
+ | } | ||
+ | pclose($handle); | ||
+ | </ | ||
+ | |||
+ | |||
+ | <code PHP> | ||
+ | function follow($file) | ||
+ | { | ||
+ | $size = 0; | ||
+ | while (true) { | ||
+ | clearstatcache(); | ||
+ | $currentSize = filesize($file); | ||
+ | if ($size == $currentSize) { | ||
+ | usleep(100); | ||
+ | continue; | ||
+ | } | ||
+ | |||
+ | $fh = fopen($file, | ||
+ | fseek($fh, $size); | ||
+ | |||
+ | while ($d = fgets($fh)) { | ||
+ | echo $d; | ||
+ | } | ||
+ | |||
+ | fclose($fh); | ||
+ | $size = $currentSize; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | follow(" | ||
+ | </ |