Mahlzeit!
Ich habe hier vor einiger Zeit mal das Download-Skript für Dateien gefunden und es auch gleich mal bei einem Kunden eingebaut. Klappte soweit prima.
Hier noch mal zur Erinnerung das Skript:
PHP-Code:
$files = Array("1" => "TBDetail.pdf",
"2" => "MusterMonatsbericht.pdf",
"3" => "MusterMonatsstatistik.pdf",
"4" => "MusterVerfuegbarkeit.pdf",
"5" => "TBDetail.pdf");
$filename = "docs/".$files[$_GET[download]];
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$files[$_GET[download]]);
readfile($filename);
Aber auch nur, wenn ich die Dateinamen fest vergebe.
Ich wollte jetzt aber eine Stufe weitergehen und habe dem Kunden eine Uploadroutine für seine Dokumente erstellt. Klappt soweit auch.
Nur auf der Seite, wo man sich diese Dokumente wieder runterladen kann, gibt es Probleme.
Und zwar kann man das Dokument nur speichern und dann öffnen.
Öffnet man es aus dem Internet heraus kommt von Acrobat die Fehlermeldung, dass es die Datei nicht gefunden hat.
Ich verstehe das Problem nicht, da die feste Vorgabe der Dateinamen doch da keinen Unterschied machen sollte, denn sobald der Quellcode geladen wird, existiert doch automatisch ein fester Dateiname, oder nicht?
Denn wie gesagt, speichern funktioniert, öffnen dagegen nicht.
Hier mein Quellcode:
PHP-Code:
if ($doc == "d")
{
$files = Array(
0 => $exp_doku2[0][1],
1 => $exp_doku2[1][1],
2 => $exp_doku2[2][1],
3 => $exp_doku2[3][1],
4 => $exp_doku2[4][1],
5 => $exp_doku2[5][1]
);
$filename = "windpark/$windpark/".$files[$nr];
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$files[$nr]);
readfile($filename);
}
Gruss Timo