Download, anderer Namen wie gespeichert
Oskar K.
- html
Hallo Forum
mein Problem: Im Intranet können Dateien hochgeladen werden. Die Dateiinformationen werden in einer mySQL Datenbank abgelegt. Der Upload-Dateiname wird wird umbenannt in ID.<suffix> Das ist notwendig, weil eventuell die selbe Datei mehrmals hochgeladen wird.
Jetzt möchte ich bei einem Download aber wieder den ursprünglichen Namen anbieten.
Geht das?
vielen Dank schon mal
Grüssle ok
Hi,
Jetzt möchte ich bei einem Download aber wieder den ursprünglichen Namen anbieten.
der Server muss einen Header der Art
Content-Disposition: attachment; filename=bla.blub
mitliefern. Siehe Archiv.
Cheatah
Hi Cheatah,
Content-Disposition: attachment; filename=bla.blub
das klappt solange, wie keine Parameterübergabe stattfindet.
Geht:
/progs/myUpload/download.php
(such_id im prog definiert)
Geht nicht:
/progs/myUpload/download.php?such_id=215
$datei = $daten[bez2].$daten[id].".".$var_typ;
$save_as = $daten[bez1].".".$var_typ;
header("Content-Type: application/octet-stream");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Disposition: attachment; filename="$save_as"");
readfile($datei);
hat jemand noch einen Rat?
grüssle ok
Hi Oskar,
$save_as = $daten[bez1].".".$var_typ;
kannst Du in diese Zeile mal konkrete Werte für Deine diversen Variablen einsetzen?
Ich kann nämlich nicht erkennen, was am Ende wirklich in ...
header("Content-Disposition: attachment; filename="$save_as"");
... dieser Zeile stehen wird.
Viele Grüße
Michael
Hi,
Ich kann nämlich nicht erkennen, was am Ende wirklich in ...
header("Content-Disposition: attachment; filename="$save_as"");
... dieser Zeile stehen wird.
mal ganz abgesehen davon sehe ich nur wenig Sinn darin, einen Dateinamen anzubieten, welcher Anführungszeichen enthält. Ich denke, dass die Filesysteme großer Teile der Zielgruppe keine derartigen Namen zulassen.
Cheatah
Hallo
mal ganz abgesehen davon sehe ich nur wenig Sinn darin, einen Dateinamen anzubieten, welcher Anführungszeichen enthält. Ich denke, dass die Filesysteme großer Teile der Zielgruppe keine derartigen Namen zulassen.
Cheatah
sorry,
der programm aufruf lautet z.b. :
/progs/myUpload/download.php?such_id=21234
aus der datenbank werden die variablen:
$datei = "/archiv/2003/200303/20030319/21234.gif";
$save_as = "oskar.gif";
erzeugt, und es funktioniert nicht. (IE 5.5)
"Kann nicht heruntergeladen werden, nicht vorhanden"
definiere ich im script vor der datenbankabfrage:
$such_id="21234";
und rufe das programm ohne variablenübergabe auf:
/progs/myUpload/download.php
geht es
header("Content-Type: application/octet-stream");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Disposition: attachment; filename="$save_as"");
readfile($datei);
grüssle ok
Hi,
der programm aufruf lautet z.b. :
[...]
hm, das hilft leider nicht viel.
und es funktioniert nicht. (IE 5.5)
Diese Tatsache ist eher bedenklich denn beruhigend. Der IE ist im Zusammenhang mit HTTP derart falsch gepolt, dass man teilweise nur hoffen kann, dass es in ihm _nicht_ funktioniert.
header("Content-Disposition: attachment; filename="$save_as"");
Die Anführungszeichen sind immer noch falsch, und es ist immer noch interessant zu wissen, wie dieser Header (_nach_ PHP) de facto aussieht - nicht wie Du ihn Dir vorstellst.
Cheatah