ホームページ  >  記事  >  バックエンド開発  >  PHP_phpスキルに実装されたファイルのMIMEタイプを取得するツールクラスの例

PHP_phpスキルに実装されたファイルのMIMEタイプを取得するツールクラスの例

不言
不言オリジナル
2018-04-08 10:31:241420ブラウズ

この記事では主に、PHP で実装されているファイル MIME タイプを取得するためのツール クラスを紹介し、PHP のファイル MIME タイプに関する判断操作スキルをサンプル形式で分析します。必要な方は参考にしてください。 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でメッセージボード機能(セッション制御)を実装する



以上がPHP_phpスキルに実装されたファイルのMIMEタイプを取得するツールクラスの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。