Michi: MIME-Typ auslesen

Hallo Leute,
ich möchte http://www.source-center.de/forum/showthread.php?34124-[Funktion-|-PHP-MIME-Typ-ohne-MimeMagic-erraten@title=die MIME-Typen anhand der Dateiendungen festlegen], jedoch nicht eine explizite Datei ansprechen, sondern im Header festlegen "jede jpg/mp3/...".
Komme da nicht weiter ... Wie baue ich das ein?
VIelen Dank schonmal!
Michi

  1. Hi,

    ich möchte

    „... in Zukunft die Vorschau-Funktion nutzen, um zu schauen, ob ich Linkadressen korrekt angegeben habe“?

    [X] Dafür!

    die MIME-Typen anhand der Dateiendungen festlegen, jedoch nicht eine explizite Datei ansprechen, sondern im Header festlegen "jede jpg/mp3/...".
    Komme da nicht weiter ...

    Ich komme schon an der Stelle nicht weiter, an der ich vermutlich verstehen sollte, was du eigentlich willst.

    Und da ich Zweifel habe, ob daran ich (allein) Schuld bin: </hilfe/charta.htm#tipps-fuer-fragende>

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Hello Michi,

    ich möchte [den Mime-Type einer Datei anhand ihrer Endung festlegen], jedoch nicht eine explizite Datei ansprechen, sondern [dies global auf dem Webserver für die Angabe] im Header festlegen

    "jede jpg/mp3/...".

    Komme da nicht weiter ... Wie baue ich das ein?

    Ich habe mal in den eckigen Klammern ersetzt/ergänzt, was ich verstanden habe...

    Es ist Unsinn, den Mime-Type nach der Endung festzulegen, wenn man nicht hundertprozentig sicher sein kann, dass er auch stimmt. Wenn es sich also nicht um (mehrfach) überprüfte Dateien auf dem Host ("Server") handelt, dann lass es lieber sein, denn man könnte Dir bzw. dann dem requestenden Client alles unterjubeln.

    Um die Header für bekannte Dateien festlegen zu können, müssten wir den Webserver wissen, also ob Apache, IIS, usw.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. den Mime-Type nach der Endung festzulegen, wenn man nicht hundertprozentig sicher sein kann, dass er auch stimmt.

      *seufz*
      Ich weiß!!
      Brauche die Festlegungen, weil der mobile-Validator fehlende Mimes-Types ankreidet bzw. die Mime-Types wissen will ("check that the format of the resource(s) below is correctly set in the HTTP Content-Type header").
      Es soll nur eben nicht eine explizite Datei angesprochen werden ( $mimetype = detect_mime("video.wmv"); ), sondern im Header festgelegt werden "jede jpg/mp3/...". Geht vielleicht irgendwie "wenn .jpg, dann davon (!) header image/jpeg"?

      Um die Header für bekannte Dateien festlegen zu können, müssten wir den Webserver wissen, also ob Apache, IIS, usw.

      Soll auf jeden Fall über PHP sein.

      1. Hi,

        Um die Header für bekannte Dateien festlegen zu können, müssten wir den Webserver wissen, also ob Apache, IIS, usw.
        Soll auf jeden Fall über PHP sein.

        Warum?

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Warum?

          Weil ich ne zentrale PHP habe, die ich include.

      2. Hello,

        Um die Header für bekannte Dateien festlegen zu können, müssten wir den Webserver wissen, also ob Apache, IIS, usw.
        Soll auf jeden Fall über PHP sein.

        Na, dann ist es doch keine Frage mehr, denn das steht quasi im PHP-Manual ;-P

        Dateinamen zerlegen z.B. mit
        http://de.php.net/manual/en/function.pathinfo.php

        Array bereitstellen mit den Endungen mit einheitlichem Casetype (Versalien/Gemeine):
        http://de.php.net/manual/en/book.array.php
        http://de.php.net/manual/en/function.array.php

        abgetrennte Endung auf den Casetype brigen, der im Array für die Element-Bezeichner verwendet wurde:
        http://de.php.net/manual/en/function.strtoupper.php
        http://de.php.net/manual/en/function.strtolower.php

        MIME-Type festlegen für den Fall, dass nachfolgende Nachschau nicht erfolgreich ist:
        $mimetype = 'application/octet-stream';

        im Array nachschauen, ob der Elementindex vorhanden ist:
        if (isset($_mime_types[$extension])) {$mimetype = $_mime_types[$extension];}
        http://de.php.net/manual/en/function.isset.php

        Eingetragenen MIME-Type ausgeben mittels Header-Funktion:
        http://de.selfhtml.org/diverses/mimetypen.htm
        http://de.php.net/manual/en/function.header.php

        header('Content-Type: ' . $mimetype);

        50 Euro überweisen an Tom vom Berg

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Dateinamen zerlegen z.B. mit
          http://de.php.net/manual/en/function.pathinfo.php

          Array bereitstellen mit den Endungen mit einheitlichem Casetype (Versalien/Gemeine):
          http://de.php.net/manual/en/book.array.php
          http://de.php.net/manual/en/function.array.php

          abgetrennte Endung auf den Casetype brigen, der im Array für die Element-Bezeichner verwendet wurde:
          http://de.php.net/manual/en/function.strtoupper.php
          http://de.php.net/manual/en/function.strtolower.php

          MIME-Type festlegen für den Fall, dass nachfolgende Nachschau nicht erfolgreich ist:
          $mimetype = 'application/octet-stream';

          im Array nachschauen, ob der Elementindex vorhanden ist:
          if (isset($_mime_types[$extension])) {$mimetype = $_mime_types[$extension];}
          http://de.php.net/manual/en/function.isset.php

          Eingetragenen MIME-Type ausgeben mittels Header-Funktion:
          http://de.selfhtml.org/diverses/mimetypen.htm
          http://de.php.net/manual/en/function.header.php

          OK, Danke soweit
          Möchts allerdings einfach nur übers gelinkte Tutorial machen, also in Richtung "wenn .jpg, dann davon (!) header image/jpeg" oder * header('Content-Type: ' . $mimetype);.
          * Wie ist, für den Header, die Änderung hinsichtlich - statt video.wmv - "jede jpg/mp3/..."?

          1. Hello,

            [...]

            OK, Danke soweit

            Möchts allerdings einfach nur übers gelinkte Tutorial machen, also in Richtung "wenn .jpg, dann davon (!) header image/jpeg" oder * header('Content-Type: ' . $mimetype);.

            * Wie ist, für den Header, die Änderung hinsichtlich - statt video.wmv - "jede jpg/mp3/..."?

            Das kostet 100 Euro extra für die Forumskasse ;-P

            "Jede" kannst Du nur handhaben, wenn Du entweder den Webserver damit beauftragst für den Direktzugriff per HTTP/s oder wenn Du das ausliefernde Script damit beauftragst, so wie ich es Dir beschrieben habe.

            Das kennen wir aber nicht.

            Und wenn ich (wir?) das Tutorial auch noch lesen sollen, dann wird es richtig teuer. Dann musst Du noch die gesamten Getränke vom nächsten Self-Offline-Treffen übernehmen ;-P

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
  3. @@Michi:

    nuqneH

    MIME-Typen anhand der Dateiendungen festlegen

    Es ist kaum zu erraten, was du eigentlich wissen willst. Möglicherweise nichts zu PHP, sondern zu [link:http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addtype@title=AddType].

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)