您好,我有一个关于如何在PHP读取文件中阅读TeamSpeak 3 Server文件的问题。
这些文件命名为“ts3server_2015-11-24__12_06_56.467055_3.log”,其中最后一个数字是teamspeak id“3”,那么我如何读取按日期排序的所有文件,最后一个数字应为3是一个变量。并将文件放在名为/ logs
的目录中希望任何人都可以帮助我:)
以下是其中一些文件的屏幕截图:
答案 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 />';
}
}
}
?>