Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Code Climate Test Coverage Issue Count

PHP Tail Library

A PHP Library for tailing files, supporting PHP 7.0 and above.

Currently, this library allows you to get the tail of a given file. Subsequent calls to the getTail function will return whatever has been appended since the last call.

Usage

Firstly let's create some random file with 3 lines of text.

$fileLocation = tempnam(sys_get_temp_dir(), 'tailTest');
file_put_contents($fileLocation, "Hello 1" . PHP_EOL . "Hello 2" . PHP_EOL . "Hello 3" . PHP_EOL);

Now we can instantiate the Tail Config class and inject it into the constructor of the Tail operator, then run the getTail function:

$config = new \IcyApril\Tail\Config($fileLocation);
$config->setLines(2);

$tail = new \IcyApril\Tail\Tail($config);
echo $tail->getTail();

The output of this will be the final two lines of the file we created:

Hello 2
Hello 3

Suppose we then append a line to the file:

file_put_contents($fileLocation, "Hello 4" . PHP_EOL, FILE_APPEND | LOCK_EX);

Running getTail again will yield Hello 4:

echo $tail->getTail();
// Hello 4

When to run getTail?

You can decide when to call the getTail function by either using the inotify watcher or simply using polling with the filemtime() function.

Caveats

  • The output is based on line count. If your file has 15 lines to start with, then has 17; the last 2 will be displayed at the next getTail call.
  • If a file is over-written and therefore has less than the amount of lines than it started with; the entire new file will be returned at the next getTail call.
  • Obviously you need to have your own polling/monitoring to decide when to call getTail

About

The PHP library for reading/following the tail of a file.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages