Ich hab nen Ordner mit chmod 700, in dem Attachments ohne Endung abgelegt werden.
In der db befinden sich die Dateinamen ohne endung und die dazugehörige Endung.
Dann hab ich noch eine Tabelle mit den entsprechenden MIME Content Types und eine Funktion die mir aus dem Dateinamen diesen Content Type (zb. image/jpeg) raus sucht.
Auf der Benutzeroberfläche sieht man das Attachment in der Mailbox in Form eines Links. Wenn man da drauf klickt, wird ein skript zusammen mit der id des attachments geladen. Das Skript erzeugt den entsprechenden header, includet die Datei ... soweit, die Theorie.
Das Problem: Ich will den originalen Dateinamen haben, so das das Attachment mit diesem Dateinamen herunter geladen werden kann. Wie stelle ich das an? Ich möchte möglichst keine Temp-Files anlegen, verursacht unnötige Traffic auf dem Server und bringt ein weiteres Problem mit sich: Das Temp File muss auch wieder gelöscht werden - nur wann?
Welche Tricks gibt's da noch, damit der Browser einen Download mit entsprechendem korrektem Dateinamen startet?
z.b. screenshot.jpg anstatt 45rtgz6gfsrzt4rwszh6gf4ghzgw4s4rs44tgfsysrht6gsssa .jpg
ich habe z.B. ein Skript, das eine PDF-Datei generiert. Wenn ich da einfach so drauf klicke, erscheint die PDF im Browser aber oben steht immer noch irgendwas von php, nix von pdf. logisch. Aber wenn ich da vorher rechtsklick und "ziel speichern unter..." mache, erscheint "doc.pdf" als Dateiname. Frage: Wo gebe ich das an??
In der db befinden sich die Dateinamen ohne endung und die dazugehörige Endung.
Dann hab ich noch eine Tabelle mit den entsprechenden MIME Content Types und eine Funktion die mir aus dem Dateinamen diesen Content Type (zb. image/jpeg) raus sucht.
Auf der Benutzeroberfläche sieht man das Attachment in der Mailbox in Form eines Links. Wenn man da drauf klickt, wird ein skript zusammen mit der id des attachments geladen. Das Skript erzeugt den entsprechenden header, includet die Datei ... soweit, die Theorie.
Das Problem: Ich will den originalen Dateinamen haben, so das das Attachment mit diesem Dateinamen herunter geladen werden kann. Wie stelle ich das an? Ich möchte möglichst keine Temp-Files anlegen, verursacht unnötige Traffic auf dem Server und bringt ein weiteres Problem mit sich: Das Temp File muss auch wieder gelöscht werden - nur wann?
Welche Tricks gibt's da noch, damit der Browser einen Download mit entsprechendem korrektem Dateinamen startet?
z.b. screenshot.jpg anstatt 45rtgz6gfsrzt4rwszh6gf4ghzgw4s4rs44tgfsysrht6gsssa .jpg
ich habe z.B. ein Skript, das eine PDF-Datei generiert. Wenn ich da einfach so drauf klicke, erscheint die PDF im Browser aber oben steht immer noch irgendwas von php, nix von pdf. logisch. Aber wenn ich da vorher rechtsklick und "ziel speichern unter..." mache, erscheint "doc.pdf" als Dateiname. Frage: Wo gebe ich das an??

Kommentar