informatique:langage:php:simuler-tail-en-php

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
informatique:langage:php:simuler-tail-en-php [2023/02/02 08:45] – supprimée - modification externe (Unknown date) informatique:langage:php:simuler-tail-en-php [2023/02/02 08: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 ======
 +{{ :dummy.png?75x75|Simuler tail en PHP}}
  
 +{{tag>php}}
 +
 +<code PHP>
 +<?php
 +$handle = popen("tail -f /etc/httpd/logs/access.log 2>&1", 'r');
 +while(!feof($handle)) {
 +    $buffer = fgets($handle);
 +    echo "$buffer<br/>\n";
 +    ob_flush();
 +    flush();
 +}
 +pclose($handle);
 +</code>
 +
 +
 +<code PHP>
 +function follow($file)
 +{
 +    $size = 0;
 +    while (true) {
 +        clearstatcache();
 +        $currentSize = filesize($file);
 +        if ($size == $currentSize) {
 +            usleep(100);
 +            continue;
 +        }
 +
 +        $fh = fopen($file, "r");
 +        fseek($fh, $size);
 +
 +        while ($d = fgets($fh)) {
 +            echo $d;
 +        }
 +
 +        fclose($fh);
 +        $size = $currentSize;
 +    }
 +}
 +
 +follow("file.txt");
 +</code>