如何阅读teamspeak3服务器日志文件

时间:2015-11-29 20:21:57

标签: php logging server

您好,我有一个关于如何在PHP读取文件中阅读TeamSpeak 3 Server文件的问题。

这些文件命名为“ts3server_2015-11-24__12_06_56.467055_3.log”,其中最后一个数字是teamspeak id“3”,那么我如何读取按日期排序的所有文件,最后一个数字应为3是一个变量。并将文件放在名为/ logs

的目录中

希望任何人都可以帮助我:)

以下是其中一些文件的屏幕截图:

http://i.imgbox.com/GIrTM5Xm.png

1 个答案:

答案 0 :(得分:0)

在非常基本的形式中你可以做这样的事情 - 你需要根据自己的需要进行调整,但它应该为你提供一个很好的起点。

<?php

        $dir=realpath( '/volume1/homes/admin/teamspeak3-server_linux-amd64/logs' );

        function filter( &$item ){
            $item=preg_replace( '@[^0-9]@', '', pathinfo( $item, PATHINFO_FILENAME ) );
        }

        if( $dir ){

            /* Add all .log files to an array */
            $files=glob( $dir . DIRECTORY_SEPARATOR . '*.log' );

            /* Sort the log files by filtering non integers */
            $keys=$files;
            array_walk( $keys, 'filter' );

            /* Add the integers as keys and then sort */
            $files=array_combine( $keys, $files );
            ksort( $files, SORT_NUMERIC );


            /* loop through the array */
            foreach( $files as $file ){

                /* read the log file - as array */
                $lines=file( $file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );

                /* Process your log file, line by line */
                foreach( $lines as $line ){
                    echo $line.'<br />';
                }
            }
        }
?>