Posted By

fabian on 02/06/08


Tagged

mysql php mime


Versions (?)

Who likes this?

1 person have marked this snippet as a favorite

adix


mySQL MIME Table (PHP)


 / Published in: PHP
 

PHP function that creates a mySQL INSERT statement for mime types. Type are extracted from a text file.

  1. function addMime(){
  2.  
  3. /*
  4. source types: http://de.selfhtml.org/diverses/mimetypen.htm
  5.  
  6. CREATE TABLE `mime` (
  7.   `file_extension` varchar(10) collate latin1_general_ci default NULL,
  8.   `file_mime` varchar(255) collate latin1_general_ci default NULL,
  9.   `file_mime_type` varchar(255) collate latin1_general_ci default NULL
  10.   )
  11.  
  12. */
  13.  
  14.  
  15.  
  16. $txt=<<< END
  17. application/acad *.dwg AutoCAD-Dateien (nach NCSA)
  18. application/applefile AppleFile-Dateien
  19. application/astound *.asd *.asn Astound-Dateien
  20. application/dsptype *.tsp TSP-Dateien
  21. application/dxf *.dxf AutoCAD-Dateien (nach CERN)
  22. application/futuresplash *.spl Flash Futuresplash-Dateien
  23. application/gzip *.gz GNU Zip-Dateien
  24. application/listenup *.ptlk Listenup-Dateien
  25. application/mac-binhex40 *.hqx Macintosh Binärdateien
  26. application/mbedlet *.mbd Mbedlet-Dateien
  27. application/mif *.mif FrameMaker Interchange Format Dateien
  28. application/msexcel *.xls *.xla Microsoft Excel Dateien
  29. application/mshelp *.hlp *.chm Microsoft Windows Hilfe Dateien
  30. application/mspowerpoint *.ppt *.ppz *.pps *.pot Microsoft Powerpoint Dateien
  31. application/msword *.doc *.dot Microsoft Word Dateien
  32. application/octet-stream *.bin *.exe *.com *.dll *.class Ausführbare Dateien
  33. application/oda *.oda Oda-Dateien
  34. application/pdf *.pdf Adobe PDF-Dateien
  35. application/postscript *.ai *.eps *.ps Adobe PostScript-Dateien
  36. application/rtc *.rtc RTC-Dateien
  37. application/rtf *.rtf Microsoft RTF-Dateien
  38. application/studiom *.smp Studiom-Dateien
  39. application/toolbook *.tbk Toolbook-Dateien
  40. application/vocaltec-media-desc *.vmd Vocaltec Mediadesc-Dateien
  41. application/vocaltec-media-file *.vmf Vocaltec Media-Dateien
  42. application/xhtml+xml *.htm *.html *.shtml *.xhtml XHTML-Dateien
  43. application/xml *.xml XML-Dateien
  44. application/x-bcpio *.bcpio BCPIO-Dateien
  45. application/x-compress *.z zlib-komprimierte Dateien
  46. application/x-cpio *.cpio CPIO-Dateien
  47. application/x-csh *.csh C-Shellscript-Dateien
  48. application/x-director *.dcr *.dir *.dxr Macromedia Director-Dateien
  49. application/x-dvi *.dvi DVI-Dateien
  50. application/x-envoy *.evy Envoy-Dateien
  51. application/x-gtar *.gtar GNU tar-Archivdateien
  52. application/x-hdf *.hdf HDF-Dateien
  53. application/x-httpd-php *.php *.phtml PHP-Dateien
  54. application/x-javascript *.js serverseitige JavaScript-Dateien
  55. application/x-latex *.latex LaTeX-Quelldateien
  56. application/x-macbinary *.bin Macintosh Binärdateien
  57. application/x-mif *.mif FrameMaker Interchange Format Dateien
  58. application/x-netcdf *.nc *.cdf Unidata CDF-Dateien
  59. application/x-nschat *.nsc NS Chat-Dateien
  60. application/x-sh *.sh Bourne Shellscript-Dateien
  61. application/x-shar *.shar Shell-Archivdateien
  62. application/x-shockwave-flash *.swf *.cab Flash Shockwave-Dateien
  63. application/x-sprite *.spr *.sprite Sprite-Dateien
  64. application/x-stuffit *.sit Stuffit-Dateien
  65. application/x-supercard *.sca Supercard-Dateien
  66. application/x-sv4cpio *.sv4cpio CPIO-Dateien
  67. application/x-sv4crc *.sv4crc CPIO-Dateien mit CRC
  68. application/x-tar *.tar tar-Archivdateien
  69. application/x-tcl *.tcl TCL Scriptdateien
  70. application/x-tex *.tex TeX-Dateien
  71. application/x-texinfo *.texinfo *.texi Texinfo-Dateien
  72. application/x-troff *.t *.tr *.roff TROFF-Dateien (Unix)
  73. application/x-troff-man *.man *.troff TROFF-Dateien mit MAN-Makros (Unix)
  74. application/x-troff-me *.me *.troff TROFF-Dateien mit ME-Makros (Unix)
  75. application/x-troff-ms *.me *.troff TROFF-Dateien mit MS-Makros (Unix)
  76. application/x-ustar *.ustar tar-Archivdateien (Posix)
  77. application/x-wais-source *.src WAIS Quelldateien
  78. application/x-www-form-urlencoded HTML-Formulardaten an CGI
  79. application/zip *.zip ZIP-Archivdateien
  80. audio/basic *.au *.snd Sound-Dateien
  81. audio/echospeech *.es Echospeed-Dateien
  82. audio/tsplayer *.tsi TS-Player-Dateien
  83. audio/voxware *.vox Vox-Dateien
  84. audio/x-aiff *.aif *.aiff *.aifc AIFF-Sound-Dateien
  85. audio/x-dspeeh *.dus *.cht Sprachdateien
  86. audio/x-midi *.mid *.midi MIDI-Dateien
  87. audio/x-mpeg *.mp2 MPEG-Dateien
  88. audio/x-pn-realaudio *.ram *.ra RealAudio-Dateien
  89. audio/x-pn-realaudio-plugin *.rpm RealAudio-Plugin-Dateien
  90. audio/x-qt-stream *.stream Quicktime-Streaming-Dateien
  91. audio/x-wav *.wav WAV-Dateien
  92. drawing/x-dwf *.dwf Drawing-Dateien
  93. image/cis-cod *.cod CIS-Cod-Dateien
  94. image/cmu-raster *.ras CMU-Raster-Dateien
  95. image/fif *.fif FIF-Dateien
  96. image/gif *.gif GIF-Dateien
  97. image/ief *.ief IEF-Dateien
  98. image/jpeg *.jpeg *.jpg *.jpe JPEG-Dateien
  99. image/png *.png PNG-Dateien
  100. image/tiff *.tiff *.tif TIFF-Dateien
  101. image/vasa *.mcf Vasa-Dateien
  102. image/vnd.wap.wbmp *.wbmp Bitmap-Dateien (WAP)
  103. image/x-freehand *.fh4 *.fh5 *.fhc Freehand-Dateien
  104. image/x-icon *.ico Icon-Dateien (z.B. Favoriten-Icons)
  105. image/x-portable-anymap *.pnm PBM Anymap Dateien
  106. image/x-portable-bitmap *.pbm PBM Bitmap Dateien
  107. image/x-portable-graymap *.pgm PBM Graymap Dateien
  108. image/x-portable-pixmap *.ppm PBM Pixmap Dateien
  109. image/x-rgb *.rgb RGB-Dateien
  110. image/x-windowdump *.xwd X-Windows Dump
  111. image/x-xbitmap *.xbm XBM-Dateien
  112. image/x-xpixmap *.xpm XPM-Dateien
  113. message/external-body Nachricht mit externem Inhalt
  114. message/http HTTP-Headernachricht
  115. message/news Newsgroup-Nachricht
  116. message/partial Nachricht mit Teilinhalt
  117. message/rfc822 Nachricht nach RFC 2822
  118. model/vrml *.wrl Visualisierung virtueller Welten (VRML)
  119. multipart/alternative mehrteilige Daten gemischt
  120. multipart/byteranges mehrteilige Daten mit Byte-Angaben
  121. multipart/digest mehrteilige Daten / Auswahl
  122. multipart/encrypted mehrteilige Daten verschlüsselt
  123. multipart/form-data mehrteilige Daten aus HTML-Formular (z.B. File-Upload)
  124. multipart/mixed mehrteilige Daten gemischt
  125. multipart/parallel mehrteilige Daten parallel
  126. multipart/related mehrteilige Daten / verbunden
  127. multipart/report mehrteilige Daten / Bericht
  128. multipart/signed mehrteilige Daten / bezeichnet
  129. multipart/voice-message mehrteilige Daten / Sprachnachricht
  130. text/comma-separated-values *.csv kommaseparierte Datendateien
  131. text/css *.css CSS Stylesheet-Dateien
  132. text/html *.htm *.html *.shtml HTML-Dateien
  133. text/javascript *.js JavaScript-Dateien
  134. text/plain *.txt reine Textdateien
  135. text/richtext *.rtx Richtext-Dateien
  136. text/rtf *.rtf Microsoft RTF-Dateien
  137. text/tab-separated-values *.tsv tabulator-separierte Datendateien
  138. text/vnd.wap.wml *.wml WML-Dateien (WAP)
  139. application/vnd.wap.wmlc *.wmlc WMLC-Dateien (WAP)
  140. text/vnd.wap.wmlscript *.wmls WML-Scriptdateien (WAP)
  141. application/vnd.wap.wmlscriptc *.wmlsc WML-Script-C-dateien (WAP)
  142. text/xml *.xml XML-Dateien
  143. text/xml-external-parsed-entity extern geparste XML-Dateien
  144. text/x-setext *.etx SeText-Dateien
  145. text/x-sgml *.sgm *.sgml SGML-Dateien
  146. text/x-speech *.talk *.spc Speech-Dateien
  147. video/mpeg *.mpeg *.mpg *.mpe MPEG-Dateien
  148. video/quicktime *.qt *.mov Quicktime-Dateien
  149. video/vnd.vivo *.viv *.vivo Vivo-Dateien
  150. video/x-msvideo *.avi Microsoft AVI-Dateien
  151. video/x-sgi-movie *.movie Movie-Dateien
  152. workbook/formulaone *.vts *.vtts FormulaOne-Dateien
  153. x-world/x-3dmf *.3dmf *.3dm *.qd3d *.qd3 3DMF-Dateien
  154. x-world/x-vrml *.wrl Visualisierung virtueller Welten (VRML) (veralteter MIME-Typ, aktuell ist model/vrml)
  155. END;
  156.  
  157. $types=explode("\n", $txt);
  158. foreach($types as $type){
  159. $parts=explode(" ", $type);
  160. $parts[1]=trim($parts[1]);
  161.  
  162. if(!$parts[1]) ## no file extension specified
  163. continue;
  164.  
  165. if(strpos($parts[1], " ")>0){ ## more than one file extension
  166. $extensions=explode(" ", $parts[1]);
  167.  
  168. foreach($extensions as $extension){
  169. $filetype=explode(".", $extension);
  170. $filetype[1]=str_replace("*", "", $filetype[1]);
  171. $add[]='("'.trim($parts[0]).'", "'.trim($filetype[1]).'", "'.trim($parts[2]).'")';
  172. }
  173.  
  174. }
  175. else{ ## only one file extension
  176. $filetype=explode(".", $parts[1]);
  177. $filetype[1]=str_replace("*", "", $filetype[1]);
  178. $add[]='("'.trim($parts[0]).'", "'.trim($filetype[1]).'", "'.trim($parts[2]).'")';
  179. }
  180. }
  181. $sql='insert into `mime` (`file_mime`, `file_extension`, `file_mime_type`) values '.implode(",<br/> ", $add);
  182. echo $sql.";";
  183.  
  184. }

Report this snippet  

You need to login to post a comment.