MimeObject.object
上传用户:xiao730204
上传日期:2007-01-04
资源大小:141k
文件大小:8k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php 
  2. class MimeObject extends BaseObject {
  3.    var $mime_types;
  4.    var $default_type;
  5.    Function MimeObject() {
  6.       $this->BaseObject( 'MimeObject' );
  7.       $this->mime_types = Array();
  8.       $this->InitTypes();
  9.       $this->default_type = 'application/octet-stream';
  10.    }
  11.    Function InitTypes() {
  12.       $this->mime_types = 
  13.       Array(
  14.          'ez'                   => 'application/andrew-inset',
  15.          'hqx'                  => 'application/mac-binhex40',
  16.          'cpt'                  => 'application/mac-compactpro',
  17.          'doc'                  => 'application/msword',
  18.          'bin'                  => 'application/octet-stream',
  19.          'dms'                  => 'application/octet-stream',
  20.          'lha'                  => 'application/octet-stream',
  21.          'lzh'                  => 'application/octet-stream',
  22.          'exe'                  => 'application/octet-stream',
  23.          'class'                => 'application/octet-stream',
  24.          'oda'                  => 'application/oda',
  25.          'pdf'                  => 'application/pdf',
  26.          'ai'                   => 'application/postscript',
  27.          'eps'                  => 'application/postscript',
  28.          'ps'                   => 'application/postscript',
  29.          'rtf'                  => 'application/rtf',
  30.          'smi'                  => 'application/smil',
  31.          'smil'                 => 'application/smil',
  32.          'mif'                  => 'application/vnd.mif',
  33.          'ppt'                  => 'application/vnd.ms-powerpoint',
  34.          'bcpio'                => 'application/x-bcpio',
  35.          'vcd'                  => 'application/x-cdlink',
  36.          'pgn'                  => 'application/x-chess-pgn',
  37.          'cpio'                 => 'application/x-cpio',
  38.          'csh'                  => 'application/x-csh',
  39.          'dcr'                  => 'application/x-director',
  40.          'dir'                  => 'application/x-director',
  41.          'dxr'                  => 'application/x-director',
  42.          'dvi'                  => 'application/x-dvi',
  43.          'spl'                  => 'application/x-futuresplash',
  44.          'gtar'                 => 'application/x-gtar',
  45.          'hdf'                  => 'application/x-hdf',
  46.          'js'                   => 'application/x-javascript',
  47.          'skp'                  => 'application/x-koan',
  48.          'skd'                  => 'application/x-koan',
  49.          'skt'                  => 'application/x-koan',
  50.          'skm'                  => 'application/x-koan',
  51.          'latex'                => 'application/x-latex',
  52.          'nc'                   => 'application/x-netcdf',
  53.          'cdf'                  => 'application/x-netcdf',
  54.          'rpm'                  => 'application/x-rpm',
  55.          'sh'                   => 'application/x-sh',
  56.          'shar'                 => 'application/x-shar',
  57.          'swf'                  => 'application/x-shockwave-flash',
  58.          'sit'                  => 'application/x-stuffit',
  59.          'sv4cpio'              => 'application/x-sv4cpio',
  60.          'sv4crc'               => 'application/x-sv4crc',
  61.          'tar'                  => 'application/x-tar',
  62.          'tcl'                  => 'application/x-tcl',
  63.          'tex'                  => 'application/x-tex',
  64.          'texinfo'              => 'application/x-texinfo',
  65.          'texi'                 => 'application/x-texinfo',
  66.          't'                    => 'application/x-troff',
  67.          'tr'                   => 'application/x-troff',
  68.          'roff'                 => 'application/x-troff',
  69.          'man'                  => 'application/x-troff-man',
  70.          'me'                   => 'application/x-troff-me',
  71.          'ms'                   => 'application/x-troff-ms',
  72.          'ustar'                => 'application/x-ustar',
  73.          'src'                  => 'application/x-wais-source',
  74.          'zip'                  => 'application/zip',
  75.          'au'                   => 'audio/basic',
  76.          'snd'                  => 'audio/basic',
  77.          'mid'                  => 'audio/midi',
  78.          'midi'                 => 'audio/midi',
  79.          'kar'                  => 'audio/midi',
  80.          'mpga'                 => 'audio/mpeg',
  81.          'mp2'                  => 'audio/mpeg',
  82.          'mp3'                  => 'audio/mpeg',
  83.          'aif'                  => 'audio/x-aiff',
  84.          'aiff'                 => 'audio/x-aiff',
  85.          'aifc'                 => 'audio/x-aiff',
  86.          'ram'                  => 'audio/x-pn-realaudio',
  87.          'rm'                   => 'audio/x-pn-realaudio',
  88.          'ra'                   => 'audio/x-realaudio',
  89.          'wav'                  => 'audio/x-wav',
  90.          'pdb'                  => 'chemical/x-pdb',
  91.          'xyz'                  => 'chemical/x-pdb',
  92.          'gif'                  => 'image/gif',
  93.          'ief'                  => 'image/ief',
  94.          'jpeg'                 => 'image/jpeg',
  95.          'jpg'                  => 'image/jpeg',
  96.          'jpe'                  => 'image/jpeg',
  97.          'png'                  => 'image/png',
  98.          'tiff'                 => 'image/tiff',
  99.          'tif'                  => 'image/tiff',
  100.          'ras'                  => 'image/x-cmu-raster',
  101.          'pnm'                  => 'image/x-portable-anymap',
  102.          'pbm'                  => 'image/x-portable-bitmap',
  103.          'pgm'                  => 'image/x-portable-graymap',
  104.          'ppm'                  => 'image/x-portable-pixmap',
  105.          'rgb'                  => 'image/x-rgb',
  106.          'xbm'                  => 'image/x-xbitmap',
  107.          'xpm'                  => 'image/x-xpixmap',
  108.          'xwd'                  => 'image/x-xwindowdump',
  109.          'igs'                  => 'model/iges',
  110.          'iges'                 => 'model/iges',
  111.          'msh'                  => 'model/mesh',
  112.          'mesh'                 => 'model/mesh',
  113.          'silo'                 => 'model/mesh',
  114.          'wrl'                  => 'model/vrml',
  115.          'vrml'                 => 'model/vrml',
  116.          'css'                  => 'text/css',
  117.          'asc'                  => 'text/plain',
  118.          'txt'                  => 'text/plain',
  119.          'rtx'                  => 'text/richtext',
  120.          'rtf'                  => 'text/rtf',
  121.          'sgml'                 => 'text/sgml',
  122.          'sgm'                  => 'text/sgml',
  123.          'tsv'                  => 'text/tab-separated-values',
  124.          'etx'                  => 'text/x-setext',
  125.          'xml'                  => 'text/xml',
  126.          'mpeg'                 => 'video/mpeg',
  127.          'mpg'                  => 'video/mpeg',
  128.          'mpe'                  => 'video/mpeg',
  129.          'qt'                   => 'video/quicktime',
  130.          'mov'                  => 'video/quicktime',
  131.          'avi'                  => 'video/x-msvideo',
  132.          'movie'                => 'video/x-sgi-movie',
  133.          'ice'                  => 'x-conference/x-cooltalk',
  134.          'html'                 => 'text/html',
  135.          'htm'                  => 'text/html'
  136.       );
  137.    }
  138.    Function AddType( $ext, $mime_type ) {
  139.       $this->mime_types[ $ext ] = $mime_type;
  140.    }
  141.    Function GetType( $filename ) {
  142.       $base_name = basename( $filename );
  143.       if ( ereg( '.(.*)$', $base_name, $ext ) ) {
  144.          $ext = $ext[ 0 ];
  145.          $ext = str_replace( '.', '', $ext );
  146.          /* It has a extension */
  147.          $mime_type = '';
  148.          $mime_type = $this->mime_types[ $ext ];
  149.          if ( $mime_type == '' ) {
  150.             return $this->default_type;
  151.          }
  152.          return $mime_type;
  153.       }
  154.       return $this->default_type;
  155.    }
  156. }
  157. ?>