Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel einer Toolklasse zum Abrufen von Datei-MIME-Typen, die in PHP_php-Kenntnissen implementiert sind

Beispiel einer Toolklasse zum Abrufen von Datei-MIME-Typen, die in PHP_php-Kenntnissen implementiert sind

不言
不言Original
2018-04-08 10:31:241480Durchsuche

这篇文章主要介绍了PHP实现的获取文件mimes类型工具类,结合实例形式分析了php针对文件mimes类型的相关判断操作技巧,需要的朋友可以参考下

本文实例讲述了PHP实现的获取文件mimes类型工具类。分享给大家供大家参考,具体如下:


<?php
/*
 * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 * http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*%******************************************************************************************%*/
// CLASS
/**
 * Simplifies the process of looking up the content-types for a variety of file extensions.
 *
 * @version 2010.07.20
 * @license See the included NOTICE.md file for more information.
 * @copyright See the included NOTICE.md file for more information.
 * @link http://aws.amazon.com/php/ PHP Developer Center
 */
class CFMimeTypes
{
  /**
   * Map of the extension-to-mime-types that we support.
   */
  public static $mime_types = array(
    &#39;3gp&#39; => &#39;video/3gpp&#39;,
    &#39;ai&#39; => &#39;application/postscript&#39;,
    &#39;aif&#39; => &#39;audio/x-aiff&#39;,
    &#39;aifc&#39; => &#39;audio/x-aiff&#39;,
    &#39;aiff&#39; => &#39;audio/x-aiff&#39;,
    &#39;asc&#39; => &#39;text/plain&#39;,
    &#39;atom&#39; => &#39;application/atom+xml&#39;,
    &#39;au&#39; => &#39;audio/basic&#39;,
    &#39;avi&#39; => &#39;video/x-msvideo&#39;,
    &#39;bcpio&#39; => &#39;application/x-bcpio&#39;,
    &#39;bin&#39; => &#39;application/octet-stream&#39;,
    &#39;bmp&#39; => &#39;image/bmp&#39;,
    &#39;cdf&#39; => &#39;application/x-netcdf&#39;,
    &#39;cgm&#39; => &#39;image/cgm&#39;,
    &#39;class&#39; => &#39;application/octet-stream&#39;,
    &#39;cpio&#39; => &#39;application/x-cpio&#39;,
    &#39;cpt&#39; => &#39;application/mac-compactpro&#39;,
    &#39;csh&#39; => &#39;application/x-csh&#39;,
    &#39;css&#39; => &#39;text/css&#39;,
    &#39;dcr&#39; => &#39;application/x-director&#39;,
    &#39;dif&#39; => &#39;video/x-dv&#39;,
    &#39;dir&#39; => &#39;application/x-director&#39;,
    &#39;djv&#39; => &#39;image/vnd.djvu&#39;,
    &#39;djvu&#39; => &#39;image/vnd.djvu&#39;,
    &#39;dll&#39; => &#39;application/octet-stream&#39;,
    &#39;dmg&#39; => &#39;application/octet-stream&#39;,
    &#39;dms&#39; => &#39;application/octet-stream&#39;,
    &#39;doc&#39; => &#39;application/msword&#39;,
    &#39;dtd&#39; => &#39;application/xml-dtd&#39;,
    &#39;dv&#39; => &#39;video/x-dv&#39;,
    &#39;dvi&#39; => &#39;application/x-dvi&#39;,
    &#39;dxr&#39; => &#39;application/x-director&#39;,
    &#39;eps&#39; => &#39;application/postscript&#39;,
    &#39;etx&#39; => &#39;text/x-setext&#39;,
    &#39;exe&#39; => &#39;application/octet-stream&#39;,
    &#39;ez&#39; => &#39;application/andrew-inset&#39;,
    &#39;flv&#39; => &#39;video/x-flv&#39;,
    &#39;gif&#39; => &#39;image/gif&#39;,
    &#39;gram&#39; => &#39;application/srgs&#39;,
    &#39;grxml&#39; => &#39;application/srgs+xml&#39;,
    &#39;gtar&#39; => &#39;application/x-gtar&#39;,
    &#39;gz&#39; => &#39;application/x-gzip&#39;,
    &#39;hdf&#39; => &#39;application/x-hdf&#39;,
    &#39;hqx&#39; => &#39;application/mac-binhex40&#39;,
    &#39;htm&#39; => &#39;text/html&#39;,
    &#39;html&#39; => &#39;text/html&#39;,
    &#39;ice&#39; => &#39;x-conference/x-cooltalk&#39;,
    &#39;ico&#39; => &#39;image/x-icon&#39;,
    &#39;ics&#39; => &#39;text/calendar&#39;,
    &#39;ief&#39; => &#39;image/ief&#39;,
    &#39;ifb&#39; => &#39;text/calendar&#39;,
    &#39;iges&#39; => &#39;model/iges&#39;,
    &#39;igs&#39; => &#39;model/iges&#39;,
    &#39;jnlp&#39; => &#39;application/x-java-jnlp-file&#39;,
    &#39;jp2&#39; => &#39;image/jp2&#39;,
    &#39;jpe&#39; => &#39;image/jpeg&#39;,
    &#39;jpeg&#39; => &#39;image/jpeg&#39;,
    &#39;jpg&#39; => &#39;image/jpeg&#39;,
    &#39;js&#39; => &#39;application/x-javascript&#39;,
    &#39;kar&#39; => &#39;audio/midi&#39;,
    &#39;latex&#39; => &#39;application/x-latex&#39;,
    &#39;lha&#39; => &#39;application/octet-stream&#39;,
    &#39;lzh&#39; => &#39;application/octet-stream&#39;,
    &#39;m3u&#39; => &#39;audio/x-mpegurl&#39;,
    &#39;m4a&#39; => &#39;audio/mp4a-latm&#39;,
    &#39;m4p&#39; => &#39;audio/mp4a-latm&#39;,
    &#39;m4u&#39; => &#39;video/vnd.mpegurl&#39;,
    &#39;m4v&#39; => &#39;video/x-m4v&#39;,
    &#39;mac&#39; => &#39;image/x-macpaint&#39;,
    &#39;man&#39; => &#39;application/x-troff-man&#39;,
    &#39;mathml&#39; => &#39;application/mathml+xml&#39;,
    &#39;me&#39; => &#39;application/x-troff-me&#39;,
    &#39;mesh&#39; => &#39;model/mesh&#39;,
    &#39;mid&#39; => &#39;audio/midi&#39;,
    &#39;midi&#39; => &#39;audio/midi&#39;,
    &#39;mif&#39; => &#39;application/vnd.mif&#39;,
    &#39;mov&#39; => &#39;video/quicktime&#39;,
    &#39;movie&#39; => &#39;video/x-sgi-movie&#39;,
    &#39;mp2&#39; => &#39;audio/mpeg&#39;,
    &#39;mp3&#39; => &#39;audio/mpeg&#39;,
    &#39;mp4&#39; => &#39;video/mp4&#39;,
    &#39;mpe&#39; => &#39;video/mpeg&#39;,
    &#39;mpeg&#39; => &#39;video/mpeg&#39;,
    &#39;mpg&#39; => &#39;video/mpeg&#39;,
    &#39;mpga&#39; => &#39;audio/mpeg&#39;,
    &#39;ms&#39; => &#39;application/x-troff-ms&#39;,
    &#39;msh&#39; => &#39;model/mesh&#39;,
    &#39;mxu&#39; => &#39;video/vnd.mpegurl&#39;,
    &#39;nc&#39; => &#39;application/x-netcdf&#39;,
    &#39;oda&#39; => &#39;application/oda&#39;,
    &#39;ogg&#39; => &#39;application/ogg&#39;,
    &#39;ogv&#39; => &#39;video/ogv&#39;,
    &#39;pbm&#39; => &#39;image/x-portable-bitmap&#39;,
    &#39;pct&#39; => &#39;image/pict&#39;,
    &#39;pdb&#39; => &#39;chemical/x-pdb&#39;,
    &#39;pdf&#39; => &#39;application/pdf&#39;,
    &#39;pgm&#39; => &#39;image/x-portable-graymap&#39;,
    &#39;pgn&#39; => &#39;application/x-chess-pgn&#39;,
    &#39;pic&#39; => &#39;image/pict&#39;,
    &#39;pict&#39; => &#39;image/pict&#39;,
    &#39;png&#39; => &#39;image/png&#39;,
    &#39;pnm&#39; => &#39;image/x-portable-anymap&#39;,
    &#39;pnt&#39; => &#39;image/x-macpaint&#39;,
    &#39;pntg&#39; => &#39;image/x-macpaint&#39;,
    &#39;ppm&#39; => &#39;image/x-portable-pixmap&#39;,
    &#39;ppt&#39; => &#39;application/vnd.ms-powerpoint&#39;,
    &#39;ps&#39; => &#39;application/postscript&#39;,
    &#39;qt&#39; => &#39;video/quicktime&#39;,
    &#39;qti&#39; => &#39;image/x-quicktime&#39;,
    &#39;qtif&#39; => &#39;image/x-quicktime&#39;,
    &#39;ra&#39; => &#39;audio/x-pn-realaudio&#39;,
    &#39;ram&#39; => &#39;audio/x-pn-realaudio&#39;,
    &#39;ras&#39; => &#39;image/x-cmu-raster&#39;,
    &#39;rdf&#39; => &#39;application/rdf+xml&#39;,
    &#39;rgb&#39; => &#39;image/x-rgb&#39;,
    &#39;rm&#39; => &#39;application/vnd.rn-realmedia&#39;,
    &#39;roff&#39; => &#39;application/x-troff&#39;,
    &#39;rtf&#39; => &#39;text/rtf&#39;,
    &#39;rtx&#39; => &#39;text/richtext&#39;,
    &#39;sgm&#39; => &#39;text/sgml&#39;,
    &#39;sgml&#39; => &#39;text/sgml&#39;,
    &#39;sh&#39; => &#39;application/x-sh&#39;,
    &#39;shar&#39; => &#39;application/x-shar&#39;,
    &#39;silo&#39; => &#39;model/mesh&#39;,
    &#39;sit&#39; => &#39;application/x-stuffit&#39;,
    &#39;skd&#39; => &#39;application/x-koan&#39;,
    &#39;skm&#39; => &#39;application/x-koan&#39;,
    &#39;skp&#39; => &#39;application/x-koan&#39;,
    &#39;skt&#39; => &#39;application/x-koan&#39;,
    &#39;smi&#39; => &#39;application/smil&#39;,
    &#39;smil&#39; => &#39;application/smil&#39;,
    &#39;snd&#39; => &#39;audio/basic&#39;,
    &#39;so&#39; => &#39;application/octet-stream&#39;,
    &#39;spl&#39; => &#39;application/x-futuresplash&#39;,
    &#39;src&#39; => &#39;application/x-wais-source&#39;,
    &#39;sv4cpio&#39; => &#39;application/x-sv4cpio&#39;,
    &#39;sv4crc&#39; => &#39;application/x-sv4crc&#39;,
    &#39;svg&#39; => &#39;image/svg+xml&#39;,
    &#39;swf&#39; => &#39;application/x-shockwave-flash&#39;,
    &#39;t&#39; => &#39;application/x-troff&#39;,
    &#39;tar&#39; => &#39;application/x-tar&#39;,
    &#39;tcl&#39; => &#39;application/x-tcl&#39;,
    &#39;tex&#39; => &#39;application/x-tex&#39;,
    &#39;texi&#39; => &#39;application/x-texinfo&#39;,
    &#39;texinfo&#39; => &#39;application/x-texinfo&#39;,
    &#39;tif&#39; => &#39;image/tiff&#39;,
    &#39;tiff&#39; => &#39;image/tiff&#39;,
    &#39;tr&#39; => &#39;application/x-troff&#39;,
    &#39;tsv&#39; => &#39;text/tab-separated-values&#39;,
    &#39;txt&#39; => &#39;text/plain&#39;,
    &#39;ustar&#39; => &#39;application/x-ustar&#39;,
    &#39;vcd&#39; => &#39;application/x-cdlink&#39;,
    &#39;vrml&#39; => &#39;model/vrml&#39;,
    &#39;vxml&#39; => &#39;application/voicexml+xml&#39;,
    &#39;wav&#39; => &#39;audio/x-wav&#39;,
    &#39;wbmp&#39; => &#39;image/vnd.wap.wbmp&#39;,
    &#39;wbxml&#39; => &#39;application/vnd.wap.wbxml&#39;,
    &#39;webm&#39; => &#39;video/webm&#39;,
    &#39;wml&#39; => &#39;text/vnd.wap.wml&#39;,
    &#39;wmlc&#39; => &#39;application/vnd.wap.wmlc&#39;,
    &#39;wmls&#39; => &#39;text/vnd.wap.wmlscript&#39;,
    &#39;wmlsc&#39; => &#39;application/vnd.wap.wmlscriptc&#39;,
    &#39;wmv&#39; => &#39;video/x-ms-wmv&#39;,
    &#39;wrl&#39; => &#39;model/vrml&#39;,
    &#39;xbm&#39; => &#39;image/x-xbitmap&#39;,
    &#39;xht&#39; => &#39;application/xhtml+xml&#39;,
    &#39;xhtml&#39; => &#39;application/xhtml+xml&#39;,
    &#39;xls&#39; => &#39;application/vnd.ms-excel&#39;,
    &#39;xml&#39; => &#39;application/xml&#39;,
    &#39;xpm&#39; => &#39;image/x-xpixmap&#39;,
    &#39;xsl&#39; => &#39;application/xml&#39;,
    &#39;xslt&#39; => &#39;application/xslt+xml&#39;,
    &#39;xul&#39; => &#39;application/vnd.mozilla.xul+xml&#39;,
    &#39;xwd&#39; => &#39;image/x-xwindowdump&#39;,
    &#39;xyz&#39; => &#39;chemical/x-xyz&#39;,
    &#39;zip&#39; => &#39;application/zip&#39;,
  );
  /**
   * Attempt to match the file extension to a known mime-type.
   *
   * @param string $ext (Required) The file extension to attempt to map.
   * @return string The mime-type to use for the file extension.
   */
  public static function get_mimetype($ext)
  {
    $ext = strtolower($ext); // Make sure the passed in extension is lowercase
    return isset(self::$mime_types[$ext]) ? self::$mime_types[$ext] : &#39;application/octet-stream&#39;;
  }
}


相关推荐:

php实现留言板功能(会话控制)



Das obige ist der detaillierte Inhalt vonBeispiel einer Toolklasse zum Abrufen von Datei-MIME-Typen, die in PHP_php-Kenntnissen implementiert sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn