Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] File download > kleines Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] File download > kleines Problem

    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??

  • #2
    In der db befinden sich die Dateinamen ohne endung und die dazugehörige Endung.
    wie was ?
    Wenn in deiner DB die originalen Dateinamen stehen, kannste die doch mit auslesen ?

    Und dann haste doch z.b. screenshot.jpg

    Mittels header("Content-Type: application/octet-stream"); wird der Download eingeleitet.
    Mit header("Content-Disposition: attachment; filename=screenshot.jpg"); legste noch den Namen fest.

    Meinste das ?

    Kommentar


    • #3
      ja, das meine ich. Besten Dank !!!
      werd's nachher mal testen. Cer Code macht jedenfalls Sinn

      Kommentar


      • #4
        irgendwie funzt das noch nicht so richtig...

        das hier pack ich in den header:

        Content-Type: application/vnd.ms-powerpoint
        Content-Disposition: attachment; filename=Atommodell-Bohr.ppt

        und lade eine Datei ohne Endung per include:
        anlagen/vkid_1__email_id_163_c965a69330111a0284912dc77803c fd9_1115845510

        ich lade das ding runter aber die Datei ist defekt...

        Kommentar

        Lädt...
        X