Hvordan læser jeg teamspeak3 server log files i php?

Tags:    php php5

Hej, jeg har et spørgsmål om hvordan jeg læser TeamSpeak3 Server filer i PHP.

Filerne er navngivet "ts3server_2015-11-24__12_06_56.467055_3.log" hvor den sidste nummer er teamspeak server id "3" så hvordan læser jeg alle filer som ender med _3.log til sidst, hvor den order efter dato, og det sidste nummer skal være en variable jeg kan ændre via en funktion eller noget. Og filerne er placeret i en directory som hedder /logs

Håber nogle kan hjælpe mig med det :)

Her er et screenshoot, af nogle af de filer som er der:

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



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Her er noget der burde kunne hjælpe på vej.

scandir giver dig alle filer og mapper der ligger i en mappe. Du er kun interesseret i ts3server filerne, så beholder kun de filer (og mapper) som starter med "ts3server" og ender med "_3.log", hvor 3 kan variere. Sidst ordnes der efter dato, dog baseret på filnavnet.

Fold kodeboks ind/udPHP kode 






Indlæg senest redigeret d. 30.11.2015 00:04 af Bruger #14645
Lige præcis det den siger :). Der mangler et en skråstreg '/' til sidst. Den fejl er muligvis skyld i de 2 efterfølgende.
Fold kodeboks ind/udPHP kode 


Men det er et udkast. Stien skal nok også rettes til noget andet; muligvis til "logs" i stedet for "/logs".





Indlæg senest redigeret d. 30.11.2015 20:11 af Bruger #14645
Mange tak for hjælpen :) Men den skriver en fejl:

Warning: preg_grep(): No ending delimiter '/' found in /volume1/web/tslog/ts3log.php on line 8 Warning: rsort() expects parameter 1 to be array, boolean given in /volume1/web/tslog/ts3log.php on line 13 Warning: Invalid argument supplied for foreach() in /volume1/web/tslog/ts3log.php on line 24

Og linie 8 er:

$tsFiles = preg_grep("/ts3server.*_{$logNumber}\\.log", $candidates);

Hvad er der fejl i den linie?




Okay har fået det til at virke sådan da, med denne kode som jeg har indsat her også, men den printer ikke hele filen ud, kun noget af det, hvad kan der være galt der?

Fold kodeboks ind/udPHP kode 




Du er kommet til at kalde filesize på mappen, $dir, i stedet for filen du behandler, $file. Men hvorfor du stadig får lidt output forstår jeg ikke.



Du er kommet til at kalde filesize på mappen, $dir, i stedet for filen du behandler, $file. Men hvorfor du stadig får lidt output forstår jeg ikke.


Ved ikke hvad der var gået galt har rettet lidt i scriptet, og ser ud som om det virker nu :)

Og mange tak for hjælpen :)



Indlæg senest redigeret d. 01.12.2015 11:54 af Bruger #15533
t