Danke Danke:  0
Dislikes Dislikes:  0
Ergebnis 1 bis 11 von 11

Thema: Mime_type .docx

  1. #1

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard Mime_type .docx

    Anzeige
    Guten morgen zusammen,

    ich wollte mir gestern ein kleines Script in PHP basteln, welches mir Dateien zum Download anbietet die in einem Verzeichnis liegen.


    der wesentliche Code dazu:

    PHP-Code:

    $finfo 
    = new finfo();
    $type $finfo->file($pfadFILEINFO_MIME);

    header("Content-Type: $type");
    header("Content-Disposition: attachment; filename=\"$file\"");
    readfile("$pfad); 
    Das funktioniert bei .pdf, .doc, .xls und soweiter - Allerdings nicht mit .docx (hier wird mir ein ZIP-Archiv angedreht - ja ich weiß dass es sich dabei tatsächlich um gezippte XMLs handelt )
    Was mich verwirrt ist, dass er xlsx aber richtig erkennt!

    Ich hab nen Apache2 unter Ubuntu 14.04 am laufen. Anscheinend soll der Apache unter Ubuntu und Debian auf die Datei /etc/mime.types zurückgreifen - dort sind aber die Extensions hinterlegt!
    Ich würde das ungerne mit .htaccess-Files lösen, sondern möchte eine saubere globale Lösung!

    Hat hierzu jemand schon Erfahrungen und kann mir da helfen?


    Danke schonmal

    Grüße

  2. #2
    Member of Honour Avatar von Chakky
    Registriert seit
    28.10.03
    Danke (erhalten)
    17
    Gefällt mir (erhalten)
    223

    Standard

    Vielleicht hilft dir der offzielle MS Beitrag dazu:

    Register the 2007 Office system file format MIME types on servers
    cu
    Chakky

    we are dreaming in digital
    we are living in realtime
    we are thinking in binary
    we are talking in IP
    welcome to our world

  3. #3

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard

    Erstmal danke, ich hab mir deinen Link angeschaut - das hat leider nicht geholfen.
    Ich habe auf der MS-Seite den folgenden Link gefunden
    Office 2007 MIME types for Apache | Vlad Mazek – Vladville Blog

    Allerdings hat das auch nichts geholfen,... die Formate sind bei mir bereits in der
    /etc/mime.types hinterlegt ...

    Code:
    pplication/vnd.openxmlformats-officedocument.presentationml.presentation      pptx
    application/vnd.openxmlformats-officedocument.presentationml.slide               sldx
    application/vnd.openxmlformats-officedocument.presentationml.slideshow        ppsx
    application/vnd.openxmlformats-officedocument.presentationml.template          potx
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet               xlsx
    application/vnd.openxmlformats-officedocument.spreadsheetml.template           xltx
    application/vnd.openxmlformats-officedocument.wordprocessingml.document    docx
    application/vnd.openxmlformats-officedocument.wordprocessingml.template      dotx
    xlsx nimmt er ja richtig - docx leider nicht! Den Rest ab ich noch nicht getestet.

    Kleiner aber nicht unerheblicher Nachtrag:
    .docx-Dateien, die mit LibreOffice generiert wurden, werden als ZIP deklariert,... die mit dem originalen Office generierten, werden korrekt ausgegeben!
    Gibts dazu irgendwelche Infos?


    Grüße
    Selig

  4. #4
    Member of Honour Avatar von Chakky
    Registriert seit
    28.10.03
    Danke (erhalten)
    17
    Gefällt mir (erhalten)
    223

    Standard

    Welchen Mimetyp spuckt er aus wenn du diesen abfragst? Zip?
    cu
    Chakky

    we are dreaming in digital
    we are living in realtime
    we are thinking in binary
    we are talking in IP
    welcome to our world

  5. #5

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard

    Ja genau... Bei den .docx Dokumenten aus LibreOffice spuckt er es als ZIP aus...

    Wenn ich das File mit WinRar öffne sieht es in der Content-XML auch geringfügig anders aus, als beim "echten" Office.
    Bringt mir nur nichts xD

  6. #6
    Member of Honour Avatar von Chakky
    Registriert seit
    28.10.03
    Danke (erhalten)
    17
    Gefällt mir (erhalten)
    223

    Standard

    Was ist der Hintergrund das auf korrekte Mimetypes angewiesen bist? Vielleicht findet man eine andere Lösung? Kann man ggf LibreOffice Dokumente noch anders erkennen und dann manuell den Mimetyp setzen?
    cu
    Chakky

    we are dreaming in digital
    we are living in realtime
    we are thinking in binary
    we are talking in IP
    welcome to our world

  7. #7

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard

    Ich möchte halt, dass der Browser einem gleich die korrekte Anwendung vorschlägt mit der man die Datei öffnen kann,....

    Wenn ich z.B. application/octet-stream wähle, bietet mir der Browser nur "Datei Speichern" - klar besser als die falsche Anwendung, aber trotzdem
    Ich möchte mich nur ungern auf die Dateiendung verlassen da ich möchte, dass Dateien hochgeladen werden können.

  8. #8
    Member of Honour Avatar von Chakky
    Registriert seit
    28.10.03
    Danke (erhalten)
    17
    Gefällt mir (erhalten)
    223

    Standard

    Naja dann biete halt bei den kritischen Sachen wirklich nur Datei Speichern an.

    Zum sicheren File Upload kann ich dir den Beitrag empfehlen:

    php - What is the most secure method for uploading a file? - Stack Overflow

    Ist vielleicht nicht 100% sicher aber schon mal ein sehr guter Ansatz
    cu
    Chakky

    we are dreaming in digital
    we are living in realtime
    we are thinking in binary
    we are talking in IP
    welcome to our world

  9. Gefällt mir Chromatin liked this post
  10. #9

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard

    Danke, ja ich glaub ich hab das alles entsprechend abgesichert - es wäre nur "hübscher" gewesen

    Trotzdem danke,

    vll mach ich für die LibreOffice Geschichte ein kleines Workaround im Code

    Danke

  11. #10
    Member of Honour Avatar von Chakky
    Registriert seit
    28.10.03
    Danke (erhalten)
    17
    Gefällt mir (erhalten)
    223

    Standard

    Zitat Zitat von selig Beitrag anzeigen
    vll mach ich für die LibreOffice Geschichte ein kleines Workaround im Code

    Danke
    würde mich interessieren wie dieser aussieht? Da müsstest du ja LibreOffice dokumente eindeutig Identifizieren können (geht bestimmt irgendwo anhand von Metadaten oder Headerdaten)
    cu
    Chakky

    we are dreaming in digital
    we are living in realtime
    we are thinking in binary
    we are talking in IP
    welcome to our world

  12. #11

    Registriert seit
    27.10.09
    Danke (erhalten)
    0
    Gefällt mir (erhalten)
    4

    Standard

    Anzeige
    Also ich habe im Netz was gefunden, womit das ganze mit Magic gemacht werden kann
    validation - DOCX File type in PHP finfo_file is application/zip - Stack Overflow

    Werde es aufgrund meiner momentanen Faulheit in PHP machen

    Nachdem ich das MimeType Ergebnis von finfo() habe, prüfe ich ob der gelieferte Wert "application/zip" ist und die Dateiendung .docx
    entsprechend werde ich den Mime-Type dann auf "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ändern - nicht schön, müsste aber gehen

    Natürlich wäre es mit Magic schöner, aber aktuell hab ich keine Motivation (Nachtschicht gehabt xD )


    Grüße

Ähnliche Themen

  1. Open Office + docx ?
    Von nonpretium im Forum Applikationen
    Antworten: 1
    Letzter Beitrag: 24.08.07, 16:51
  2. docx in doc bei word 2000
    Von MrSwissi im Forum Windows 2000 /95/98/ME
    Antworten: 3
    Letzter Beitrag: 21.05.07, 17:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •