Hack Gott - Di 03.04.07 23:05
Titel: URLDownloadToFile klappt nur einmal
Im Internet hat die Arztpraxis [url]
http://www.proktologie-karlsruhe.de[/url] ein Online Formular um sich für einen Termin eintrage zu lassen. Bis jetzt wird für jeden Eintrag eine Mail gesendet. Aus Zeitgründen soll ich jetzt dazu ein Programm schreiben das diese Einträge vom Server holt und direkt am PC anzeigt, sobald neue verfügbar sind.
Dazu will ich jetzt die Terminwünsche in einer Datei speichern, und zwar in folgendem Format:
Anrede|Krankenversicherung|Vorname|Nachname|E-Mail|Telefon|Kontakt per|erster Besuch|Gewünschter Zeitpunkt
Ok, klappt wunderbar. Jetzt soll diese Datei von meinem Programm runtergeladen werden und dann ausgelesen. Außerdem soll dieses auch die Einträge löschen können. Das mache ich dadurch dass ich eine PHP Datei aufrufe die dann den jeweiligen Eintrag löscht, ebenso stellt sie die Datenbank bereit, d.h. ich lade nicht db.txt sondern db.php?mode=db runter, was letztendlich auf das selbe herausläuft. Es hat aber den Vorteil, dass die Arzthelferinnen nur
http://www....de/db.php eingeben müssen, den Rest ergänzt das Programm. Soll ein Eintrag gelöscht werden erhält die db.php natürlich andere Werte.
db.php:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| <?php $DB='db'; if (trim($_GET['mode'])=="db") { readfile('db'); } else if (trim($_GET['mode'])=="delete") { $file=file($DB); $handle=fopen($DB, 'w'); $delIndex=trim($_GET['delid']); foreach ($file as $i => $wert) { if ($i==$delIndex) {} else {fwrite($handle, $file[$i]);} } fclose($handle); echo 'DELETED'; } ?> |
So. Das auslesen klappt ganz super. Aber des Downloaden nicht so wirklich, das erste mal macht er es gut. Aber dann lädt er die Datei nicht mehr neu runter. Selbst wenn ich die entstehende temp.log lösche. Meine Vermutung ist dass Windows des irgendwo Temporär mitspeichert und dann die Datei nicht neu runterlädt. Ein Neustart des Programms behebt das Problem.
Ich hab das Programm mal angehängt (+Quellcode). Beendet kann es aber nur über den Taskmanager unter Prozesse (ich hoffe ihr verzeiht), da es für den dauerhaften Betrieb sein soll und nicht "ausversehen" geschlossen werden soll. Wer net wenn ihr auch noch kurz was zum Design sagen könntet. Hauptsächlich geht es mir aber um den Fehler (oder andere). Gerne verbesser ich auch den Code wenns irgendwo geht. Danke.
//EDIT: Quellcode der PHP Datei angehängt
Außerdem: Zurzeit greift das Programm auf meinen Server zu, deswegen sollte braucht es Internet, also net über eine Firewall Meldung wundern.
Moderiert von
Narses: EXE-Datei wegen Virenverdacht aus dem Archiv entfernt.