Wie aktualisiere ich die Datenbank nach erfolgreichem Download?
Ich habe ein Download-Skript geschrieben, das eine Datei aus einem Verzeichnis herunterlädt. Nach erfolgreichem Download muss ich die Datenbank aktualisieren, damit ich den folgenden Code schreibe.
<code>$path = $_SERVER['DOCUMENT_ROOT']."/upload/"; // change the path to fit your websites document structure $fullPath = $path.$_GET['download_file']; if ($fd = fopen ($fullPath, "r")) { $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); switch ($ext) { case "pdf": header("Content-type: application/pdf"); // add here more headers for diff. extensions header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download break; default; header("Content-type: application/octet-stream"); header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); } header("Content-length: $fsize"); header("Cache-control: private"); //use this to open files directly while(!feof($fd)) { $buffer = fread($fd, 2048); echo $buffer; } } fclose ($fd); $update = mysql_query("Update query"); if($update) { echo "updated"; } else { echo 'error'.mysql_error(); } exit; </code>
Aber wenn ich auf den Download-Link klicke und ein Browser-Popup erscheint, wenn ich auf die Abbrechen-Schaltfläche klicke, sollte es die Update-Abfrage nicht ausführen, da die Datei nicht heruntergeladen wird, sondern wenn ich den obigen Code verwende, auch wenn ich auf klicke Mit der Abbrechen-Schaltfläche wird die Update-Abfrage ausgeführt.
Was ist der Fehler in meinem Code?