Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] Regelmäßig gleiche Datei auslesen - unterschiedliche Ergebnisse (https://www.delphipraxis.net/174961-%5Bphp%5D-regelmaessig-gleiche-datei-auslesen-unterschiedliche-ergebnisse.html)

Flips 21. Mai 2013 21:23

[php] Regelmäßig gleiche Datei auslesen - unterschiedliche Ergebnisse
 
Hallo alle zusammen,

folgendes Problem in php:
Code:
<?php
$timestamp = time();
$afile = "../".date("d_m_Y",$timestamp).".dat";
$m = $_REQUEST["mins"];
$var = file($afile, FILE_IGNORE_NEW_LINES);
$lines = array_reverse($var);
$i = 0;
$out = "";
foreach($lines as $line) {
   $out .= $line."\n";
   $i++;
   if ($i == $m) {
      break;
   }
}
echo $out;
?>
Ok, eine bestimmte Datei wird geöffnet, diese ist existend und wird auch nicht beschrieben (eigentlich wird die Datei alle paar Minuten um Messdaten erweitert, zur Fehlerausschließung abgeschaltet)!
Dann wird das Array mit den Zeilen umgedreht und solange wieder ausgegeben, bis entweder m Zeilen oder alles ausgegeben wurde. Also prinzipiell gibt mir das Skript so wie es da steht die letzten m Zeilen aus.
Das klappt soweit auch, aber wenn ich die Datei regelmäßig aufrufe (sagen wir im Abstand von einer Sekunde) dann stimmt die Ausgabe in 90% der Fälle. In 10% der Fälle jedoch gibt das Skript aber nicht die letzen m Zeilen sondern einen m-zeiligen Block mitten aus der Datei aus, aber lustigerweise immer den selben "falschen" Block.

Hat jemand Erfahrungen mit diesem Phänomen? Eventuell irgend ein internes lock oder handle auf die Datei welches php nicht schnell genug wieder löst/frei gibt?

Vielen Dank und schöne Grüße,
Flips

[Edit]
Ok es hat scheinbar mit dem Server zu tun und betrifft alle file-Funktionen. Hat jemand Erfahrungen damit?
[/Edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz