Maison  >  Article  >  développement back-end  >  Exemple de classe d'outils pour obtenir des types de fichiers MIME implémentés dans les astuces PHP_php

Exemple de classe d'outils pour obtenir des types de fichiers MIME implémentés dans les astuces PHP_php

不言
不言original
2018-04-08 10:31:241459parcourir

Cet article présente principalement la classe d'outils permettant d'obtenir des types de fichiers MIME implémentés par PHP et analyse les compétences opérationnelles de jugement associées de PHP pour les types de fichiers MIME sous forme d'exemples. Les amis dans le besoin peuvent se référer à ce qui suit

. Les exemples de cet article sont expliqués. Une classe d'outils pour obtenir des types de fichiers MIME implémentés en PHP. Partagez-le avec tout le monde pour référence, comme suit :


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


Recommandations associées :

php Implémenter la fonction de forum de messages (contrôle de conversation)



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn