note 92406 added to function.fseek

From: Date: Thu, 23 Jul 2009 08:49:25 +0000
Subject: note 92406 added to function.fseek
Groups: php.notes 
Request: Send a blank email to php-notes+get-158613@lists.php.net to get a copy of this message
Modified @ben's function to work for files larger than PHP_INT_MAX bytes. function longTail($file, $numLines = 100) { $fp = fopen($file, "r"); $chunk = 4096; $fs = sprintf("%u", filesize($file)); $max = (intval($fs) == PHP_INT_MAX) ? PHP_INT_MAX : filesize($file); for ($len = 0; $len < $max; $len += $chunk) { $seekSize = ($max - $len > $chunk) ? $chunk : $max - $len; fseek($fp, ($len + $seekSize) * -1, SEEK_END); $data = fread($fp, $seekSize) . $data; if (substr_count($data, "\n") >= $numLines + 1) { preg_match("!(.*?\n){".($numLines)."}$!", $data, $match); fclose($fp); return $match[0]; } } fclose($fp); return $data; } ---- Server IP: 209.41.74.194 Probable Submitter: 67.188.200.14 ---- Manual Page -- http://www.php.net/manual/en/function.fseek.php Edit -- https://master.php.net/note/edit/92406 Del: integrated -- https://master.php.net/note/delete/92406/integrated Del: useless -- https://master.php.net/note/delete/92406/useless Del: bad code -- https://master.php.net/note/delete/92406/bad+code Del: spam -- https://master.php.net/note/delete/92406/spam Del: non-english -- https://master.php.net/note/delete/92406/non-english Del: in docs -- https://master.php.net/note/delete/92406/in+docs Del: other reasons-- https://master.php.net/note/delete/92406 Reject -- https://master.php.net/note/reject/92406 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#158613) next »