"Download Start"-Problem

3Dnavigator

Erfahrenes Mitglied
Hallo miteinander!

Ich habe ein Download-PHP gemacht, das mir ein PDF-File herunterladen soll, wenn man es anklickt.
Nun habe ich allerdings das Problem, dass der Download zwar gestartet wird, doch die Datei anschliessend unbrauchbar ist. Und das trotzdem, dass das File binär übertragen wird...
Ausserdem speichert folgender Code in einer MySQL-Datenbank die Anzahl der downloads. Das funktioniert allerdings auch schon.

Hier der Code:
PHP:
if($download != ""){
	$sqldownl = mysql_query("SELECT count FROM Downloads WHERE filename = '$download'");
	$sqlcount = mysql_fetch_array($sqldownl);
	$newcount = $sqlcount[count] + "1";
	mysql_query("UPDATE Downloads SET count = '$newcount' WHERE filename = '$download'");
	$save_as_name = basename($download);
	header("Content-Type: application/pdf");
	header("Content-Disposition: attachment; filename=\"$save_as_name\"");
	readfile($download);
}

Was stimmt hier nicht

In der Variable $download wird übrigens der gesammte Dateiname übergeben (z.B. "Preisliste.pdf").
 
Zuletzt bearbeitet:
Evtl. noch dem Browser die Größe der pdf Datei mit auf dem Weg geben ...
PHP:
$size = filesize ("$filename");
header ("Accept-Ranges: bytes")
header ("Content-Length: " . $size);

Ach und was mir noch auffällt:
PHP:
$sqldownl = mysql_query("SELECT count FROM Downloads WHERE filename = '$download'");
$sqlcount = mysql_fetch_array($sqldownl);
$newcount = $sqlcount[count] + "1";
mysql_query("UPDATE Downloads SET count = '$newcount' WHERE filename = '$download'"); 
# kannst kürzen auf:
mysql_query("UPDATE Downloads SET count = count+1 WHERE filename = '$download'");
 
Zuletzt bearbeitet:
Zurück