Aus Datei lesen, welche von anderem Programm geöffnet ist

Kai-Behncke

Erfahrenes Mitglied
Hallo Forum,
ich habe folgende Aufgabe:

Ich soll GPS-Koordinaten, welche in eine Logdatei (logdatei.txt) geschrieben werden mittels
PHP-Skript auslesen und in eine Datenbank schreiben.
Ich löse das mittels:

$datei=logdatei.txt
$zerpflueck_array=file($datei), parse die Koordinaten und spiele sie dann in eine Datenbank ein.
Das ist soweit kein Problem, so lange das GPS-Programm nicht aktiv ist und somit also nichts in die Logdatei geschrieben wird.

Es muss aber so funktionieren, dass das PHP-Skript auch aktiv ist, wenn das GPS-Programm läuft, also auch wenn die logdatei.txt von dem PGS-Programm geöffnet ist und Werte dort eingetragen werden.

Nur wie Hat jemand eine Idee?
Prinzipell wäre ich mittlerweile sogar schon zufrieden, wenn z.B. eine Art temporäre Kopie der Logdatei ertellt wird und daraus Koordinaten gelesen würden, nur wie?


Vielen lieben Dank im voraus, Kai
 
Wie wärs wenn du die Datei wieder schliesen lassen würdest -.-
Soweit ich das weiß, kannst du nicht die Daten lesen, wenn sie erst in die Datei geschrieben werden -.- kannst ja die Werte die im Moment darin stehen in Variablen speichern dann die Datei umschreiben lassen, wieder schließen und erneut lesen ...

Einde andere Möglichkeit sehe ich nicht
 
Zuletzt bearbeitet:
Danke erstmal für die Antworten. Das Problem ist: Ich kann die Datei leider nicht schließen lassen, weil dann GPS-Koordinaten nicht mehr geloggt werden würden.

(Generell: Wie könnte ich denn eine geöffnete Datei schließen? Geht das auch mit PHP?).

Ich habe jetzt aber gerade ein GPS-Programm gefunden, wo in eine Logdatei geschrieben wird und ich trotzdem diese Datei zur Laufzeit mit PHP lesen und parsen kann.
Nun taucht ein anderes Problem auf:

Ich öffne die Datei und die bisdato geschriebenen Werte werden wunderbar geparst und in die Datenbank gespielt. Nur wenn dann neue Werte kommen, dann werden diese natürlich erst dann gelesen, wenn ich das Skript wieder neu starte. Gibt es eine Möglichkeit ein PHP-Skript automatisiert aufzurufen?
 
Das könntest du mit einem Cronjob in Regelmäsigen Abständen machen. (zB alle 2 Minuten wenns notwendig ist...)
Oder mal schauen ob das GPS Programm eine Funktion hat mit der du bei einem Update der Logdatei dein Script "anschubsen" kannst.
 
Cronjob fällt leider flach, weil ich das auf nem Windows XP machen muss (leider).
Es gibt da ja die Möglichkeit Batch-Dateien in regelmäßigen Abständen aufzurufen. Nur geht das auch mit nem PHP-Skript?
Gäbe es vielleicht die Möglichkeit, das mit nem Java-Skript zu kombinieren?
 
Im Grunde kannst es ja so machen, nach dem PHP Teil, oder davor eine Weiterleitung anzubrigen, sei es jetzt mit JavaScript, PHP oder mit Meta-Tags ... so würde ich es jetzt mal versuchen ... kannst ja dann einstellen, dass das z. B.: alle 5 Min sein soll oder wie du grad lustig bist ...

Header(Location: );
<meta http-equiv="refresh" content="300; URL=seite.php">

Wobei ich dazu sagen muss, dass dies ne "hässliche" Lösung wäre
 
Danke , super
Ich habe auch noch ein Schnipsel gefunden:

<body onload="setTimeout('window.history.go(0)', 20000);">
Ich glaube, mit dem Know how komme ich erstmal weiter.
Vielen Dank an alle und schönes Wochenende:)
 
neija ich kenne solche sich selbst in bestimmten Zeitabständen refreshende Webseite auch im unternehmerischen Bereich, teilweise ist sowas richtig gut.
Da du unter WinXP das machen musst, wird dir wohl nicht viel anderes übrig bleiben, aber der Zeitplaner von Windows kann über kleine Umwege auch PHP-Dateien ausführen (gab da mal irgendwo nen Tutorial).
 
Zurück