-function tail($file, $lines = 1) {
- $bs = 512;
- $fs = 0;
- $ld = [];
- if (is_resource($file) || ($file = fopen($file, "r"))) {
- fseek($file, 0, SEEK_END);
- $fs = ftell($file);
- $fp = $fs;
- $ls = "";
- while ($fp > 0 && count($ld) < $lines) {
- do {
- fseek($file, -min($fp, $bs), SEEK_CUR);
- $fp = ftell($file);
- $ls = fread($file, $fs-$fp) . $ls;
- } while ($fp > 0 && -1 === ($eol = strrpos($ls, "\n", $ls)));
-
- array_unshift($ld, substr($ls, $eol));
- $ls = substr($ls, 0, $eol-1);
- }
- }
-
- return $ld;
-}
-