tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von teccco
ERLEDIGT
JA
ANTWORTEN
13
ZUGRIFFE
2545
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Hallo,

    gibt es eine Möglichkeit, die Mime-Types herauszufinden wenn die Datei schon auf dem Server liegt, aber die Funktion mime_content_type nicht zur Verfügung steht? Wäre das hier ein guter Ansatz, oder gibt es bessere Lösungen: http://www.homepage-forum.de/showthread.php?t=20316
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wozu benötigst du diese Information denn?
     
    Markus Wulftange

  3. #3
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Ich habe ein Skript geschrieben, welches Dateien verwaltet. U.a. soll es ermöglicht werden, dass man nicht nur per Skript Dateien hochlädt, sondern auch per FTP in ein Verzeichnis lädt, um diese dann später per Skript in die Datenbank aufzunehmen. Das Skript liest dann dieses Verzeichnis aus, und fügt die Informationen über die darin befindlichen Dateien in eine Datenbank ein, die Dateien werden auch an einen anderen Ort verschoben. Den MIME-Type benötige ich dann später für den Header, um die Dateien korrekt herunter laden zu können.
     

  4. #4
    teccco teccco ist offline Mitglied Gold
    Registriert seit
    Jan 2002
    Beiträge
    100
    Hallo,

    das Script von der Seite, die du gepostet hast, ist doch perfekt - du musst da ja nicht mal Copy & Paste machen.

    Ich denke, dass es auch keine andere Möglichkeit dafür gibt, denn wie willst du sonst einen Mime-Type auslesen? Entweder direkt aus der Datei, d.h. via mime_content_type, oder du weisst welche Dateiendung zu welchem Mime-Type gehört mit Hilfe des anderen Scripts, oder du rätst einfach

    Also: meine Vorgehensweise wäre folgende, wenn ich nicht sicherstellen könnte, dass mime_content_type() zur Verfügung steht:

    PHP-Code:
    if (function_exists(mime_content_type()) {

    $mimetype mime_content_type($pfad_zur_datei);
    }

    else {

    include(
    "das_andere_script.php");

    $mimetype detect_mime($pfad_zur_datei);

    MfG, teccco
    qsrs bedankt sich. 

  5. #5
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Das finde ich auch die beste Lösung, vielen Dank dafür.
     

  6. #6
    teccco teccco ist offline Mitglied Gold
    Registriert seit
    Jan 2002
    Beiträge
    100
    Kein Problem!

    Kannst du das ganze dann noch als "Erledigt" markieren bitte?
     

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Definiere die mime_content_type()-Funktion lieber nachträglich, statt eine neue Funktion einzuführen:
    PHP-Code:
    if( !function_exists('mime_content_type') ) {
        function 
    mime_content_type$filename )
        {
            
    // …
        
    }

     
    Markus Wulftange

  8. #8
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Definiere die mime_content_type()-Funktion lieber nachträglich, statt eine neue Funktion einzuführen
    Die Idee ist gut und sinvoll, aber das scheint nicht zu funktionieren: Cannot redeclare mime_content_type()
     

  9. #9
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Hast du mein Beispielcode übernommen? Denn es ist wichtig die function_exists()-Funktion zu negieren.
     
    Markus Wulftange

  10. #10
    Avatar von tobee
    tobee tobee ist offline Grolba.com media
    Registriert seit
    Jul 2005
    Ort
    Karlsruhe
    Beiträge
    1.700
    Blog-Einträge
    131
    Meinst das negieren?:
    negieren
    aberkennen, absprechen, entziehen, bestreiten, anfechten, bezweifeln, Einspruch erheben, fliehen vor, leugnen, ablehnen, Einspruch - euer Ehren (Richter)
     

  11. #11
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Nein, das Negieren im logischen Sinne: wahr wird zu falsch, falsch wird zu wahr. Übernimm einfach mein genanntes Beispiel eins zu eins und probier es aus.
     
    Markus Wulftange

  12. #12
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Erst hatte ich es so übernommen, dann wurde der MIME-Type jedoch nicht ausgewertet, ich dachte also die Funktion steht doch zur Verfügung und hatte die Negation entfernt. Daraufhin erhielt ich dann "Cannot redeclare mime_content_type()".
     

  13. #13
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    In meinem Beispiel muss die Funktionsdefinition natürlich noch mit Inhalt gefüllt werden.
     
    Markus Wulftange

  14. #14
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Ja, hatte ich gemacht, das hat dann ungefähr so ausgesehen:

    PHP-Code:
    if( !function_exists('mime_content_type') ) {
    function 
    mime_content_type$filename ) {
    switch (
    $filetype) {
    case 
    ".zip"$mime="application/zip"; break;
    case 
    ".ez"$mime="application/andrew-inset"; break;
    case 
    ".hqx"$mime="application/mac-binhex40"; break;
    case 
    ".cpt"$mime="application/mac-compactpro"; break;
    case 
    ".doc"$mime="application/msword"; break;
    case 
    ".bin"$mime="application/octet-stream"; break;
    case 
    ".dms"$mime="application/octet-stream"; break;
    case 
    ".lha"$mime="application/octet-stream"; break;
    case 
    ".lzh"$mime="application/octet-stream"; break;
    case 
    ".exe"$mime="application/octet-stream"; break;
    case 
    ".class"$mime="application/octet-stream"; break;
    case 
    ".so"$mime="application/octet-stream"; break;
    case 
    ".dll"$mime="application/octet-stream"; break;
    case 
    ".oda"$mime="application/oda"; break;
    case 
    ".pdf"$mime="application/pdf"; break;
    case 
    ".ai"$mime="application/postscript"; break;
    case 
    ".eps"$mime="application/postscript"; break;
    case 
    ".ps"$mime="application/postscript"; break;
    case 
    ".smi"$mime="application/smil"; break;
    case 
    ".smil"$mime="application/smil"; break;
    case 
    ".xls"$mime="application/vnd.ms-excel"; break;
    case 
    ".ppt"$mime="application/vnd.ms-powerpoint"; break;
    case 
    ".wbxml"$mime="application/vnd.wap.wbxml"; break;
    case 
    ".wmlc"$mime="application/vnd.wap.wmlc"; break;
    case 
    ".wmlsc"$mime="application/vnd.wap.wmlscriptc"; break;
    case 
    ".bcpio"$mime="application/x-bcpio"; break;
    case 
    ".vcd"$mime="application/x-cdlink"; break;
    case 
    ".pgn"$mime="application/x-chess-pgn"; break;
    case 
    ".cpio"$mime="application/x-cpio"; break;
    case 
    ".csh"$mime="application/x-csh"; break;
    case 
    ".dcr"$mime="application/x-director"; break;
    case 
    ".dir"$mime="application/x-director"; break;
    case 
    ".dxr"$mime="application/x-director"; break;
    case 
    ".dvi"$mime="application/x-dvi"; break;
    case 
    ".spl"$mime="application/x-futuresplash"; break;
    case 
    ".gtar"$mime="application/x-gtar"; break;
    case 
    ".hdf"$mime="application/x-hdf"; break;
    case 
    ".js"$mime="application/x-javascript"; break;
    case 
    ".skp"$mime="application/x-koan"; break;
    case 
    ".skd"$mime="application/x-koan"; break;
    case 
    ".skt"$mime="application/x-koan"; break;
    case 
    ".skm"$mime="application/x-koan"; break;
    case 
    ".latex"$mime="application/x-latex"; break;
    case 
    ".nc"$mime="application/x-netcdf"; break;
    case 
    ".cdf"$mime="application/x-netcdf"; break;
    case 
    ".sh"$mime="application/x-sh"; break;
    case 
    ".shar"$mime="application/x-shar"; break;
    case 
    ".swf"$mime="application/x-shockwave-flash"; break;
    case 
    ".sit"$mime="application/x-stuffit"; break;
    case 
    ".sv4cpio"$mime="application/x-sv4cpio"; break;
    case 
    ".sv4crc"$mime="application/x-sv4crc"; break;
    case 
    ".tar"$mime="application/x-tar"; break;
    case 
    ".tcl"$mime="application/x-tcl"; break;
    case 
    ".tex"$mime="application/x-tex"; break;
    case 
    ".texinfo"$mime="application/x-texinfo"; break;
    case 
    ".texi"$mime="application/x-texinfo"; break;
    case 
    ".t"$mime="application/x-troff"; break;
    case 
    ".tr"$mime="application/x-troff"; break;
    case 
    ".roff"$mime="application/x-troff"; break;
    case 
    ".man"$mime="application/x-troff-man"; break;
    case 
    ".me"$mime="application/x-troff-me"; break;
    case 
    ".ms"$mime="application/x-troff-ms"; break;
    case 
    ".ustar"$mime="application/x-ustar"; break;
    case 
    ".src"$mime="application/x-wais-source"; break;
    case 
    ".xhtml"$mime="application/xhtml+xml"; break;
    case 
    ".xht"$mime="application/xhtml+xml"; break;
    case 
    ".zip"$mime="application/zip"; break;
    case 
    ".au"$mime="audio/basic"; break;
    case 
    ".snd"$mime="audio/basic"; break;
    case 
    ".mid"$mime="audio/midi"; break;
    case 
    ".midi"$mime="audio/midi"; break;
    case 
    ".kar"$mime="audio/midi"; break;
    case 
    ".mpga"$mime="audio/mpeg"; break;
    case 
    ".mp2"$mime="audio/mpeg"; break;
    case 
    ".mp3"$mime="audio/mpeg"; break;
    case 
    ".aif"$mime="audio/x-aiff"; break;
    case 
    ".aiff"$mime="audio/x-aiff"; break;
    case 
    ".aifc"$mime="audio/x-aiff"; break;
    case 
    ".m3u"$mime="audio/x-mpegurl"; break;
    case 
    ".ram"$mime="audio/x-pn-realaudio"; break;
    case 
    ".rm"$mime="audio/x-pn-realaudio"; break;
    case 
    ".rpm"$mime="audio/x-pn-realaudio-plugin"; break;
    case 
    ".ra"$mime="audio/x-realaudio"; break;
    case 
    ".wav"$mime="audio/x-wav"; break;
    case 
    ".pdb"$mime="chemical/x-pdb"; break;
    case 
    ".xyz"$mime="chemical/x-xyz"; break;
    case 
    ".bmp"$mime="image/bmp"; break;
    case 
    ".gif"$mime="image/gif"; break;
    case 
    ".ief"$mime="image/ief"; break;
    case 
    ".jpeg"$mime="image/jpeg"; break;
    case 
    ".jpg"$mime="image/jpeg"; break;
    case 
    ".jpe"$mime="image/jpeg"; break;
    case 
    ".png"$mime="image/png"; break;
    case 
    ".tiff"$mime="image/tiff"; break;
    case 
    ".tif"$mime="image/tiff"; break;
    case 
    ".djvu"$mime="image/vnd.djvu"; break;
    case 
    ".djv"$mime="image/vnd.djvu"; break;
    case 
    ".wbmp"$mime="image/vnd.wap.wbmp"; break;
    case 
    ".ras"$mime="image/x-cmu-raster"; break;
    case 
    ".pnm"$mime="image/x-portable-anymap"; break;
    case 
    ".pbm"$mime="image/x-portable-bitmap"; break;
    case 
    ".pgm"$mime="image/x-portable-graymap"; break;
    case 
    ".ppm"$mime="image/x-portable-pixmap"; break;
    case 
    ".rgb"$mime="image/x-rgb"; break;
    case 
    ".xbm"$mime="image/x-xbitmap"; break;
    case 
    ".xpm"$mime="image/x-xpixmap"; break;
    case 
    ".xwd"$mime="image/x-xwindowdump"; break;
    case 
    ".igs"$mime="model/iges"; break;
    case 
    ".iges"$mime="model/iges"; break;
    case 
    ".msh"$mime="model/mesh"; break;
    case 
    ".mesh"$mime="model/mesh"; break;
    case 
    ".silo"$mime="model/mesh"; break;
    case 
    ".wrl"$mime="model/vrml"; break;
    case 
    ".vrml"$mime="model/vrml"; break;
    case 
    ".css"$mime="text/css"; break;
    case 
    ".html"$mime="text/html"; break;
    case 
    ".htm"$mime="text/html"; break;
    case 
    ".asc"$mime="text/plain"; break;
    case 
    ".txt"$mime="text/plain"; break;
    case 
    ".rtx"$mime="text/richtext"; break;
    case 
    ".rtf"$mime="text/rtf"; break;
    case 
    ".sgml"$mime="text/sgml"; break;
    case 
    ".sgm"$mime="text/sgml"; break;
    case 
    ".tsv"$mime="text/tab-separated-values"; break;
    case 
    ".wml"$mime="text/vnd.wap.wml"; break;
    case 
    ".wmls"$mime="text/vnd.wap.wmlscript"; break;
    case 
    ".etx"$mime="text/x-setext"; break;
    case 
    ".xml"$mime="text/xml"; break;
    case 
    ".xsl"$mime="text/xml"; break;
    case 
    ".mpeg"$mime="video/mpeg"; break;
    case 
    ".mpg"$mime="video/mpeg"; break;
    case 
    ".mpe"$mime="video/mpeg"; break;
    case 
    ".qt"$mime="video/quicktime"; break;
    case 
    ".mov"$mime="video/quicktime"; break;
    case 
    ".mxu"$mime="video/vnd.mpegurl"; break;
    case 
    ".avi"$mime="video/x-msvideo"; break;
    case 
    ".movie"$mime="video/x-sgi-movie"; break;
    case 
    ".asf"$mime="video/x-ms-asf"; break;
    case 
    ".asx"$mime="video/x-ms-asf"; break;
    case 
    ".wm"$mime="video/x-ms-wm"; break;
    case 
    ".wmv"$mime="video/x-ms-wmv"; break;
    case 
    ".wvx"$mime="video/x-ms-wvx"; break;
    case 
    ".ice"$mime="x-conference/x-cooltalk"; break;
    }
     
    return 
    $mime;
    }

     

Ähnliche Themen

  1. mime-type von XSD
    Von Enumerator im Forum XML Technologien
    Antworten: 3
    Letzter Beitrag: 21.07.08, 11:51
  2. Mime Type
    Von sluggish im Forum PHP
    Antworten: 3
    Letzter Beitrag: 03.01.08, 00:32
  3. Mime Type für Dateien
    Von wSam im Forum Coders Talk
    Antworten: 6
    Letzter Beitrag: 08.12.06, 20:05
  4. php MIME-Type
    Von herzblut im Forum PHP
    Antworten: 4
    Letzter Beitrag: 25.01.06, 15:16
  5. mime type
    Von Tob im Forum PHP
    Antworten: 10
    Letzter Beitrag: 16.11.01, 16:11