Hi Matthias
Das ganze Script sollte dabei im Hintergrund ablaufen, also ohne das PHP eine neue Seite aufruft nachdem die Infos (ich hab es mit "hidden" Formularen gemacht) übertragen wurden.
Mein PHP-Script sieht fogendermaßen aus:
@setlocale("LC_ALL", "de_DE");
$dl_time = @strftime("%A, %d. %B, %H.%M Uhr");
$fp = @fopen("dl_log.txt", "a");
$dl_string = @sprintf("$dl_time: $dl_hidden \n");
@fputs($fp, $dl_string);
@fclose($fp);
Ok, du kannst das folgender Masen loesen: Ein Downloadlink enthaelt die Datei die herrunter geladen wird als Variable. Wie du das loesst, ob mit nen "hidden" Feld in nem Formular oder einfach als ?datei=NAME als URI ist gleichgueltig. Machst du ja auch schon.
Dann lass deine Logroutine so wie sie ist. Auch in Ordnung.
Einziges was du danach machen kannst/must ist einen http header zum browser schicken, damit der weiss welche datei er anzeigen soll.
Sprich
header ( "Location: folder/$dl_hidden" ) ;
was zu beachten waere, ist das du keine Ausgabe vor dem Senden eines Headers haben kannst. Jegliches echo, print ist verboten. Es fuehrt zu einer Fehlermeldung. (Header already sent by...)
Ich hoffe das konnte dir helfen.
Tilman