MIME-Typen anhand der Dateiendung herausfinden
Verfasst: 25.05.2009 00:23
Hallo!
Habe dies gerade für den Eigenbedarf zusammengebastelt.
Einfach eine Dateiendung wie z. B. "txt" oder "html" übergeben und man erhält den dazugehörigen MIME-Typ.
Die bisherigen MIME-Typen stammen von SelfHTML.org. Bitte den Code erweitern, wenn ihr noch mehr MIME-Typen habt!
Sucht absichtlich mit Regulären Ausdrücken, statt nur mit FindString(), denn so kann man nur ganze Wörter suchen. FindString() würde z. B. "htm" innerhalb von "html" finden.
Wer den Code weiter optimieren möchte, sollte häufiger benutzte Dateiendungen an den Anfang der Liste stellen.
Habe dies gerade für den Eigenbedarf zusammengebastelt.
Einfach eine Dateiendung wie z. B. "txt" oder "html" übergeben und man erhält den dazugehörigen MIME-Typ.
Die bisherigen MIME-Typen stammen von SelfHTML.org. Bitte den Code erweitern, wenn ihr noch mehr MIME-Typen habt!
Code: Alles auswählen
Structure mimetype_structure
mime.s
ext.s
EndStructure
NewList mime.mimetype_structure()
Macro AddMimeType(mimetype, extension)
AddElement(mime())
mime()\mime=mimetype
mime()\ext=extension
EndMacro
AddMimeType("application/acad", "dwg")
AddMimeType("application/astound", "asd asn")
AddMimeType("application/dsptype", "tsp")
AddMimeType("application/dxf", "dxf")
AddMimeType("application/futuresplash", "spl")
AddMimeType("application/gzip", "gz")
AddMimeType("application/listenup", "ptlk")
AddMimeType("application/mac-binhex40", "hqx")
AddMimeType("application/mbedlet", "mbd")
AddMimeType("application/mif", "mif")
AddMimeType("application/msexcel", "xls xla")
AddMimeType("application/mshelp", "hlp chm")
AddMimeType("application/mspowerpoint", "ppt ppz pps pot")
AddMimeType("application/msword", "doc dot")
AddMimeType("application/octet-stream", "bin exe com dll class")
AddMimeType("application/oda", "oda")
AddMimeType("application/pdf", "pdf")
AddMimeType("application/postscript", "ai eps ps")
AddMimeType("application/rtc", "rtc")
AddMimeType("application/rtf", "rtf")
AddMimeType("application/studiom", "smp")
AddMimeType("application/toolbook", "tbk")
AddMimeType("application/vnd.wap.wmlc", "wmlc")
AddMimeType("application/vnd.wap.wmlscriptc", "wmlsc")
AddMimeType("application/vocaltec-media-desc", "vmd")
AddMimeType("application/vocaltec-media-file", "vmf")
AddMimeType("application/x-bcpio", "bcpio")
AddMimeType("application/x-compress", "z")
AddMimeType("application/x-cpio", "cpio")
AddMimeType("application/x-csh", "csh")
AddMimeType("application/x-director", "dcr dir dxr")
AddMimeType("application/x-dvi", "dvi")
AddMimeType("application/x-envoy", "evy")
AddMimeType("application/x-gtar", "gtar")
AddMimeType("application/x-hdf", "hdf")
AddMimeType("application/x-latex", "latex")
AddMimeType("application/x-macbinary", "bin")
AddMimeType("application/x-mif", "mif")
AddMimeType("application/xml", "xml")
AddMimeType("application/x-netcdf", "nc cdf")
AddMimeType("application/x-nschat", "nsc")
AddMimeType("application/x-sh", "sh")
AddMimeType("application/x-shar", "shar")
AddMimeType("application/x-shockwave-flash", "swf cab")
AddMimeType("application/x-sprite", "spr sprite")
AddMimeType("application/x-stuffit", "sit")
AddMimeType("application/x-supercard", "sca")
AddMimeType("application/x-sv4cpio", "sv4cpio")
AddMimeType("application/x-sv4crc", "sv4crc")
AddMimeType("application/x-tar", "tar")
AddMimeType("application/x-tcl", "tcl")
AddMimeType("application/x-tex", "tex")
AddMimeType("application/x-texinfo", "texinfo texi")
AddMimeType("application/x-troff", "t tr roff")
AddMimeType("application/x-troff-man", "man troff")
AddMimeType("application/x-troff-me", "me troff")
AddMimeType("application/x-troff-ms", "me troff")
AddMimeType("application/x-ustar", "ustar")
AddMimeType("application/x-wais-source", "src")
AddMimeType("application/zip", "zip")
AddMimeType("audio/basic", "au snd")
AddMimeType("audio/echospeech", "es")
AddMimeType("audio/tsplayer", "tsi")
AddMimeType("audio/voxware", "vox")
AddMimeType("audio/x-aiff", "aif aiff aifc")
AddMimeType("audio/x-dspeeh", "dus cht")
AddMimeType("audio/x-midi", "mid midi")
AddMimeType("audio/x-mpeg", "mp2")
AddMimeType("audio/x-pn-realaudio", "ram ra")
AddMimeType("audio/x-pn-realaudio-plugin", "rpm")
AddMimeType("audio/x-qt-stream", "stream")
AddMimeType("audio/x-wav", "wav")
AddMimeType("drawing/x-dwf", "dwf")
AddMimeType("image/cis-cod", "cod")
AddMimeType("image/cmu-raster", "ras")
AddMimeType("image/fif", "fif")
AddMimeType("image/gif", "gif")
AddMimeType("image/ief", "ief")
AddMimeType("image/jpeg", "jpeg jpg jpe")
AddMimeType("image/png", "png")
AddMimeType("image/tiff", "tiff tif")
AddMimeType("image/vasa", "mcf")
AddMimeType("image/vnd.wap.wbmp", "wbmp")
AddMimeType("image/x-freehand", "fh4 fh5 fhc")
AddMimeType("image/x-icon", "ico")
AddMimeType("image/x-portable-anymap", "pnm")
AddMimeType("image/x-portable-bitmap", "pbm")
AddMimeType("image/x-portable-graymap", "pgm")
AddMimeType("image/x-portable-pixmap", "ppm")
AddMimeType("image/x-rgb", "rgb")
AddMimeType("image/x-windowdump", "xwd")
AddMimeType("image/x-xbitmap", "xbm")
AddMimeType("image/x-xpixmap", "xpm")
AddMimeType("model/vrml", "wrl")
AddMimeType("text/comma-separated-values", "csv")
AddMimeType("text/css", "css")
AddMimeType("text/html", "htm html shtml shtm sht")
AddMimeType("text/javascript", "js")
AddMimeType("text/plain", "txt 1st readme diz nfo")
AddMimeType("text/richtext", "rtx")
AddMimeType("text/rtf", "rtf")
AddMimeType("text/tab-separated-values", "tsv")
AddMimeType("text/vnd.wap.wml", "wml")
AddMimeType("text/vnd.wap.wmlscript", "wmls")
AddMimeType("text/xml", "xml")
AddMimeType("text/x-setext", "etx")
AddMimeType("text/x-sgml", "sgm sgml")
AddMimeType("text/x-speech", "talk spc")
AddMimeType("video/mpeg", "mpeg mpg mpe")
AddMimeType("video/quicktime", "qt mov")
AddMimeType("video/vnd.vivo", "viv vivo")
AddMimeType("video/x-msvideo", "avi")
AddMimeType("video/x-sgi-movie", "movie")
AddMimeType("workbook/formulaone", "vts vtts")
AddMimeType("x-world/x-3dmf", "3dmf 3dm qd3d qd3")
AddMimeType("x-world/x-vrml", "wrl")
Procedure.s getMimeType(extension.s)
Shared mime()
Protected regexp=CreateRegularExpression(#PB_Any, "\b\Q"+extension+"\E\b")
If regexp
ForEach mime()
If MatchRegularExpression(regexp, mime()\ext)
FreeRegularExpression(regexp)
ProcedureReturn mime()\mime
EndIf
Next
FreeRegularExpression(regexp)
EndIf
ProcedureReturn "text/html" ; wenn nichts gefunden
EndProcedure
Debug getMimeType("txt")
Wer den Code weiter optimieren möchte, sollte häufiger benutzte Dateiendungen an den Anfang der Liste stellen.