Home  >  Article  >  Backend Development  >  Example of tool class for obtaining file mime types implemented in PHP_php skills

Example of tool class for obtaining file mime types implemented in PHP_php skills

不言
不言Original
2018-04-08 10:31:241420browse

This article mainly introduces the tool class for obtaining file mime types implemented by PHP, and analyzes PHP's related judgment operation skills for file mime types in the form of examples. Friends in need can refer to the following

The examples of this article are described A tool class for obtaining file mime types implemented in PHP. Share it with everyone for your reference, the details are as follows:


<?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;;
  }
}


Related recommendations:

php to implement messages Board Features (Session Control)



The above is the detailed content of Example of tool class for obtaining file mime types implemented in PHP_php skills. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn