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.
- <?php
-
- function get_ts_filenames_by_date($dir, $logNumber) {
- // 1. Get all files in dir
- $candidates = scandir($dir);
-
- // 2. Keep only tsserver files, and must match lognumber
- $tsFiles = preg_grep("/ts3server.*_{$logNumber}\\.log", $candidates);
-
- // 3. Sort by dates?
- // Assume you want by "date" in filename, not last modified date (although they are probably the same)
- // Then just sort descending ("r"-sort) on filename.
- rsort($tsFiles);
-
- return $tsFiles;
- }
-
- function process_ts3_files() {
- $ts3Files = get_ts_filenames_by_date("/logs", "3");
-
- //Do what you need to do with files.
- foreach ($ts3Files as $file) {
- $fileHandle = fopen($file, "r");
- // or file_get_contents or....
- }
- }
Indlæg senest redigeret d. 30.11.2015 00:04 af Bruger #14645