logfile dateiname ermitteln

Hallo,
ich würde mir gerne per script auf meine explizite anfrage hin das tagesaktuelle logfile in einen ordner packen und mir per mail schicken lassen.

dazu muß ich den dateinamen kennen. jetzt komm ich nur nicht drauf nach welchem muster es benannt wird. wenn ich microtime(true) verwende erhalte ich heute beispielsweise diesen wert: 1236287992.1875.

das heutige file welches mich interessiert, und evtl. auch noch das von mitternacht (logfile-rotation) die so heute zum beispiel heissen:

logfile1236211201.log
logfile1236124801.log

der gemeinsame nenner ist rot markiert. wie komme ich auf den rest per script? sind das minuten, nein, oder doch? ähm…

Aber das log was Dich interessiert währe ja dann immer das mit der höchsten Zahl…?

Hallo Jürgen,

Der Name der Log-Datei ist ein UNIX-Timestamp wie er z.B. von dem PHP-Befehl time() geliefert wird. Die Einheit eines Timestamp ist die Sekunde. Du bekommst folglich jede Sekunde einen um 1 höheren Wert.

Wie Thomas schon sagte, ist die neueste Datei diejenige mit dem höchsten Zahlenwert.

Gruß
HJH

Guten Morgen zusammen,
Ok, aber ich muss ja den dateinamen wissen um sie zum beispiel per file_exist zu prüfen und mit dem befehl copy kopieren zu können. jetzt wäre das allereinfachste zu wissen welchen allgorithmus ich anwende um den dateinamen in einem string zu erstellen.

ansonsten muss ich ja mit einer filesearch funktion das directoy erst mal durchsuchen und das wollte ich halt damit vermeiden. oder gibt es keinen anwendbaren logischen denker, mit dem ich den namen ganz einfach zusammenbastel, der heute eigentlich gültig sein müßte. versteht ihr?

Schön Grüß, Hinti

gemäß: (da wo die fragezeichen das fehlt mir ja)

$str="logfile ".substr(microtime(true),0,4)."2".??????.".log"

Hallo,

ich denke dir bleibt nichts anderes übrig als die Files im Ordner zu Scannen… aber das ist ja auch schnell gemacht. Mit den php Code Fetzen bekommst du immer das neueste Logfile ausgegeben;


$dir = IPS_GetKernelDir()."logs/";
$files = scandir($dir,1);
//print_r($files1);
//$zaehler = count ($files);
//echo $zaehler;
$File = $files[0];
echo "$File"."
";

Hallo Hinti,

Du kannst Dir im aktuellen WIIPS fuer de V2 das anschauen. In der index.php im web Verzeichnis findest Du die Loesung in den Zeilen 156 bis 249 - da ist natuerlich noch einiges mehr drin. Musst ja nur das nehmen, was fuer Dich wichtig ist.

Ich nehme eh an, Du willst nicht das ganze Logfile, sondern eigentlich die Fehler. Mit dem dort enthaltenen kannste das gleich filtern und als Email Dir zusenden, das duerfte wesentlich kompakter sein, dann brauchste nicht noch erst das Logfile nach Fehlern durchschauen.

Danke Hollowman,
Danke Torro