Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » Dateinamen per header() ändern?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.09.2006, 14:08 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Hallo,

ich bastel gerade eine Art Downloadcenter; dabei soll der Benutzer vor dem Download einer Datei einen bestimmen Hashcode eingeben (und Bot-Zugriffe zu verhindern), welcher an ein PHP-Script weitergeleitet wird, welcher dieses dann parst. Auch möchte ich, dass der Benutzer gewisse Hinweise zur Kenntnis nimmt, und blende daher ein <textarea> mit eben diesen ein, sowie ein Feld darunter "Zur Kenntnis genommen", welches der Benutzer anklicken muss, um die Datei herunter zu laden.

Nun dachte ich, dass ich in dem PHP-Skript die Daten validiere und, falls authorisiert, einfach per readfile() (o.ä.) die entsprechende Datei einlese und somit dem Benutzer "zum Download" freigebe. Einziges Problem: Die Datei heißt z.B. "irgendwas.zip", das PHP-Skript wird aber als "irgendwas.php" zum Download angeboten. Gibt es eine Möglichkeit, den Dateinmane entsprechend zu ändern? Da mir das HTTP-speziefisch schien, dachte ich zuerst an header()!

Oder ist der Gesamtansatz falsch / verbesserungwürdig?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.09.2006, 17:41 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
das geht u.A. damit:


PHP:

header("Content-Disposition: attachment; filename={$filename}");
header("Content-Type: application/octet-stream");



Wichtig ist vor allem der Content-Type - sonst kanns passieren das dir diverse Browser - welche ich jetzt nicht namentlich nennen will - den Mist direkt anzeigen und nicht runterladen. Und der Disposition-Header ist dafür da um der Datei einen Namen zu geben.

Das erzeugt dann zwar z.b für $filename="hallo.zip" z.B Dateinamen wie hallo[1].zip - aber anders gehts nicht.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.09.2006, 19:35 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: