Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $contents = @file('/path/to/error.log', FILE_SKIP_EMPTY_LINES);
- if (is_array($contents)) {
- echo end($contents);
- }
- unset($contents);
- php_flag error_log /web/mysite/logs/error.log
- <?php
- exec('tail /usr/local/apache/logs/error_log', $output);
- ?>
- <Table border="1">
- <tr>
- <th>Date</th>
- <th>Type</th>
- <th>Client</th>
- <th>Message</th>
- </tr>
- <?
- foreach($output as $line) {
- // sample line: [Wed Oct 01 15:07:23 2008] [error] [client 76.246.51.127] PHP 99. Debugger->handleError() /home/gsmcms/public_html/central/cake/libs/debugger.php:0
- preg_match('~^[(.*?)]~', $line, $date);
- if(empty($date[1])) {
- continue;
- }
- preg_match('~] [([a-z]*?)] [~', $line, $type);
- preg_match('~] [client ([0-9.]*)]~', $line, $client);
- preg_match('~] (.*)$~', $line, $message);
- ?>
- <tr>
- <td><?=$date[1]?></td>
- <td><?=$type[1]?></td>
- <td><?=$client[1]?></td>
- <td><?=$message[1]?></td>
- </tr>
- <?
- }
- ?>
- </table>
- BigFile.php
- <?php
- $run_test = true;
- $test_file = 'BigFile.php';
- class BigFile
- {
- private $file_handle;
- /**
- *
- * Load the file from a filepath
- * @param string $path_to_file
- * @throws Exception if path cannot be read from
- */
- public function __construct( $path_to_log )
- {
- if( is_readable($path_to_log) )
- {
- $this->file_handle = fopen( $path_to_log, 'r');
- }
- else
- {
- throw new Exception("The file path to the file is not valid");
- }
- }
- /**
- *
- * 'Finish your breakfast' - Jay Z's homme Strict
- */
- public function __destruct()
- {
- fclose($this->file_handle);
- }
- /**
- *
- * Returns a number of characters from the end of a file w/o loading the entire file into memory
- * @param integer $number_of_characters_to_get
- * @return string $characters
- */
- public function getFromEnd( $number_of_characters_to_get )
- {
- $offset = -1*$number_of_characters_to_get;
- $text = "";
- fseek( $this->file_handle, $offset , SEEK_END);
- while(!feof($this->file_handle))
- {
- $text .= fgets($this->file_handle);
- }
- return $text;
- }
- }
- if( $run_test )
- {
- $number_of_characters_to_get = 100000;
- $bf = new BigFile($test_file);
- $text = $bf->getFromEnd( $number_of_characters_to_get );
- echo "$test_file has the following $number_of_characters_to_get characters at the end:
- <br/> <pre>$text</pre>";
- }
- ?>
Add Comment
Please, Sign In to add comment