|
@@ -33,64 +33,195 @@ class Upload
|
|
|
8 => '上传被其它扩展中断'
|
|
|
);
|
|
|
public $mine = array (
|
|
|
- 'image/gif' => 'gif',
|
|
|
- 'image/jpeg' => 'jpg',
|
|
|
- 'image/bmp' => 'bmp',
|
|
|
- 'image/png' => 'png',
|
|
|
- 'image/tiff' => 'tiff',
|
|
|
- 'image/x-pict' => 'pict',
|
|
|
- 'image/x-photoshop' => 'psd',
|
|
|
- 'application/x-shockwave-flash' => 'swf',
|
|
|
- 'application/x-javascript' => 'js',
|
|
|
- 'application/pdf' => 'pdf',
|
|
|
- 'application/postscript' => 'ps',
|
|
|
- 'application/x-msmetafile' => 'wmf',
|
|
|
- 'application/x-httpd-php' => 'php',
|
|
|
- 'application/x-httpd-asp' => 'asp',
|
|
|
- 'application/x-httpd-aspx' => 'aspx',
|
|
|
- 'text/css' => 'css',
|
|
|
- 'text/ini' => 'ini',
|
|
|
- 'text/html' => 'html',
|
|
|
- 'text/plain' => 'txt',
|
|
|
- 'text/xml' => 'xml',
|
|
|
- 'text/wml' => 'wml',
|
|
|
- 'image/vnd.wap.wbmp' => 'wbmp',
|
|
|
- 'audio/midi' => 'mid',
|
|
|
- 'audio/wav' => 'wav',
|
|
|
- 'audio/mpeg' => 'mp3',
|
|
|
- 'audio/wma' => 'wma',
|
|
|
- 'video/x-msvideo' => 'avi',
|
|
|
- 'video/mpeg' => 'mpeg',
|
|
|
- 'video/quicktime' => 'mov',
|
|
|
- 'video/rm' => 'rm',
|
|
|
- 'video/rmvb' => 'rmvb',
|
|
|
- 'application/x-lha' => 'lzh',
|
|
|
- 'application/x-compress' => 'z',
|
|
|
- 'application/x-gtar' => 'gtar',
|
|
|
- 'application/x-gzip' => 'gzip',
|
|
|
- 'application/x-tar' => 'tar',
|
|
|
- 'application/bzip2' => 'bz2',
|
|
|
- 'application/zip' => 'zip',
|
|
|
- 'application/7z' => '7z',
|
|
|
- 'application/x-arj' => 'arj',
|
|
|
- 'application/x-rar-compressed' => 'rar',
|
|
|
- 'application/mac-binhex40' => 'hqx',
|
|
|
- 'application/x-stuffit' => 'sit',
|
|
|
- 'application/x-macbinary' => 'bin',
|
|
|
- 'text/x-uuencode' => 'uue',
|
|
|
- 'application/x-latex' => 'latex',
|
|
|
- 'application/x-tcl' => 'tcl',
|
|
|
- 'application/pgp' => 'pgp',
|
|
|
- 'application/x-msdownload' => 'exe',
|
|
|
- 'application/msword' => 'docx',
|
|
|
- 'application/rtf' => 'rtf',
|
|
|
- 'application/vnd.ms-excel' => 'xlsx',
|
|
|
- 'application/vnd.ms-powerpoint' => 'ppt',
|
|
|
- 'application/x-msaccess' => 'mdb',
|
|
|
- 'application/x-mswrite' => 'wri',
|
|
|
- 'application/octet-stream' => 'dll',
|
|
|
- 'application/x-bittorrent' => 'torrent',
|
|
|
- );
|
|
|
+ '*' => 'application/octet-stream',
|
|
|
+ '323' => 'text/h323',
|
|
|
+ 'acx' => 'application/internet-property-stream',
|
|
|
+ 'ai' => 'application/postscript',
|
|
|
+ 'aif' => 'audio/x-aiff',
|
|
|
+ 'aifc' => 'audio/x-aiff',
|
|
|
+ 'aiff' => 'audio/x-aiff',
|
|
|
+ 'asf' => 'video/x-ms-asf',
|
|
|
+ 'asr' => 'video/x-ms-asf',
|
|
|
+ 'asx' => 'video/x-ms-asf',
|
|
|
+ 'au' => 'audio/basic',
|
|
|
+ 'avi' => 'video/x-msvideo',
|
|
|
+ 'axs' => 'application/olescript',
|
|
|
+ 'bas' => 'text/plain',
|
|
|
+ 'bcpio' => 'application/x-bcpio',
|
|
|
+ 'bin' => 'application/octet-stream',
|
|
|
+ 'bmp' => 'image/bmp',
|
|
|
+ 'c' => 'text/plain',
|
|
|
+ 'cat' => 'application/vnd.ms-pkiseccat',
|
|
|
+ 'cdf' => 'application/x-cdf',
|
|
|
+ 'cer' => 'application/x-x509-ca-cert',
|
|
|
+ 'class' => 'application/octet-stream',
|
|
|
+ 'clp' => 'application/x-msclip',
|
|
|
+ 'cmx' => 'image/x-cmx',
|
|
|
+ 'cod' => 'image/cis-cod',
|
|
|
+ 'cpio' => 'application/x-cpio',
|
|
|
+ 'crd' => 'application/x-mscardfile',
|
|
|
+ 'crl' => 'application/pkix-crl',
|
|
|
+ 'crt' => 'application/x-x509-ca-cert',
|
|
|
+ 'csh' => 'application/x-csh',
|
|
|
+ 'css' => 'text/css',
|
|
|
+ 'dcr' => 'application/x-director',
|
|
|
+ 'der' => 'application/x-x509-ca-cert',
|
|
|
+ 'dir' => 'application/x-director',
|
|
|
+ 'dll' => 'application/x-msdownload',
|
|
|
+ 'dms' => 'application/octet-stream',
|
|
|
+ 'doc' => 'application/msword',
|
|
|
+ 'dot' => 'application/msword',
|
|
|
+ 'dvi' => 'application/x-dvi',
|
|
|
+ 'dxr' => 'application/x-director',
|
|
|
+ 'eps' => 'application/postscript',
|
|
|
+ 'etx' => 'text/x-setext',
|
|
|
+ 'evy' => 'application/envoy',
|
|
|
+ 'exe' => 'application/octet-stream',
|
|
|
+ 'fif' => 'application/fractals',
|
|
|
+ 'flr' => 'x-world/x-vrml',
|
|
|
+ 'gif' => 'image/gif',
|
|
|
+ 'gtar' => 'application/x-gtar',
|
|
|
+ 'gz' => 'application/x-gzip',
|
|
|
+ 'h' => 'text/plain',
|
|
|
+ 'hdf' => 'application/x-hdf',
|
|
|
+ 'hlp' => 'application/winhlp',
|
|
|
+ 'hqx' => 'application/mac-binhex40',
|
|
|
+ 'hta' => 'application/hta',
|
|
|
+ 'htc' => 'text/x-component',
|
|
|
+ 'htm' => 'text/html',
|
|
|
+ 'html' => 'text/html',
|
|
|
+ 'htt' => 'text/webviewhtml',
|
|
|
+ 'ico' => 'image/x-icon',
|
|
|
+ 'ief' => 'image/ief',
|
|
|
+ 'iii' => 'application/x-iphone',
|
|
|
+ 'ins' => 'application/x-internet-signup',
|
|
|
+ 'isp' => 'application/x-internet-signup',
|
|
|
+ 'jfif' => 'image/pipeg',
|
|
|
+ 'jpe' => 'image/jpeg',
|
|
|
+ 'jpeg' => 'image/jpeg',
|
|
|
+ 'jpg' => 'image/jpeg',
|
|
|
+ 'js' => 'application/x-javascript',
|
|
|
+ 'latex' => 'application/x-latex',
|
|
|
+ 'lha' => 'application/octet-stream',
|
|
|
+ 'lsf' => 'video/x-la-asf',
|
|
|
+ 'lsx' => 'video/x-la-asf',
|
|
|
+ 'lzh' => 'application/octet-stream',
|
|
|
+ 'm13' => 'application/x-msmediaview',
|
|
|
+ 'm14' => 'application/x-msmediaview',
|
|
|
+ 'm3u' => 'audio/x-mpegurl',
|
|
|
+ 'man' => 'application/x-troff-man',
|
|
|
+ 'mdb' => 'application/x-msaccess',
|
|
|
+ 'me' => 'application/x-troff-me',
|
|
|
+ 'mht' => 'message/rfc822',
|
|
|
+ 'mhtml' => 'message/rfc822',
|
|
|
+ 'mid' => 'audio/mid',
|
|
|
+ 'mny' => 'application/x-msmoney',
|
|
|
+ 'mov' => 'video/quicktime',
|
|
|
+ 'movie' => 'video/x-sgi-movie',
|
|
|
+ 'mp2' => 'video/mpeg',
|
|
|
+ 'mp3' => 'audio/mpeg',
|
|
|
+ 'mpa' => 'video/mpeg',
|
|
|
+ 'mpe' => 'video/mpeg',
|
|
|
+ 'mpeg' => 'video/mpeg',
|
|
|
+ 'mpg' => 'video/mpeg',
|
|
|
+ 'mpp' => 'application/vnd.ms-project',
|
|
|
+ 'mpv2' => 'video/mpeg',
|
|
|
+ 'ms' => 'application/x-troff-ms',
|
|
|
+ 'mvb' => 'application/x-msmediaview',
|
|
|
+ 'nws' => 'message/rfc822',
|
|
|
+ 'oda' => 'application/oda',
|
|
|
+ 'p10' => 'application/pkcs10',
|
|
|
+ 'p12' => 'application/x-pkcs12',
|
|
|
+ 'p7b' => 'application/x-pkcs7-certificates',
|
|
|
+ 'p7c' => 'application/x-pkcs7-mime',
|
|
|
+ 'p7m' => 'application/x-pkcs7-mime',
|
|
|
+ 'p7r' => 'application/x-pkcs7-certreqresp',
|
|
|
+ 'p7s' => 'application/x-pkcs7-signature',
|
|
|
+ 'pbm' => 'image/x-portable-bitmap',
|
|
|
+ 'pdf' => 'application/pdf',
|
|
|
+ 'pfx' => 'application/x-pkcs12',
|
|
|
+ 'pgm' => 'image/x-portable-graymap',
|
|
|
+ 'pko' => 'application/ynd.ms-pkipko',
|
|
|
+ 'pma' => 'application/x-perfmon',
|
|
|
+ 'pmc' => 'application/x-perfmon',
|
|
|
+ 'pml' => 'application/x-perfmon',
|
|
|
+ 'pmr' => 'application/x-perfmon',
|
|
|
+ 'pmw' => 'application/x-perfmon',
|
|
|
+ 'pnm' => 'image/x-portable-anymap',
|
|
|
+ 'pot,' => 'application/vnd.ms-powerpoint',
|
|
|
+ 'ppm' => 'image/x-portable-pixmap',
|
|
|
+ 'pps' => 'application/vnd.ms-powerpoint',
|
|
|
+ 'ppt' => 'application/vnd.ms-powerpoint',
|
|
|
+ 'prf' => 'application/pics-rules',
|
|
|
+ 'ps' => 'application/postscript',
|
|
|
+ 'pub' => 'application/x-mspublisher',
|
|
|
+ 'qt' => 'video/quicktime',
|
|
|
+ 'ra' => 'audio/x-pn-realaudio',
|
|
|
+ 'ram' => 'audio/x-pn-realaudio',
|
|
|
+ 'ras' => 'image/x-cmu-raster',
|
|
|
+ 'rgb' => 'image/x-rgb',
|
|
|
+ 'rmi' => 'audio/mid http://www.dreamdu.com',
|
|
|
+ 'roff' => 'application/x-troff',
|
|
|
+ 'rtf' => 'application/rtf',
|
|
|
+ 'rtx' => 'text/richtext',
|
|
|
+ 'scd' => 'application/x-msschedule',
|
|
|
+ 'sct' => 'text/scriptlet',
|
|
|
+ 'setpay' => 'application/set-payment-initiation',
|
|
|
+ 'setreg' => 'application/set-registration-initiation',
|
|
|
+ 'sh' => 'application/x-sh',
|
|
|
+ 'shar' => 'application/x-shar',
|
|
|
+ 'sit' => 'application/x-stuffit',
|
|
|
+ 'snd' => 'audio/basic',
|
|
|
+ 'spc' => 'application/x-pkcs7-certificates',
|
|
|
+ 'spl' => 'application/futuresplash',
|
|
|
+ 'src' => 'application/x-wais-source',
|
|
|
+ 'sst' => 'application/vnd.ms-pkicertstore',
|
|
|
+ 'stl' => 'application/vnd.ms-pkistl',
|
|
|
+ 'stm' => 'text/html',
|
|
|
+ 'svg' => 'image/svg+xml',
|
|
|
+ 'sv4cpio' => 'application/x-sv4cpio',
|
|
|
+ 'sv4crc' => 'application/x-sv4crc',
|
|
|
+ 'swf' => 'application/x-shockwave-flash',
|
|
|
+ 't' => 'application/x-troff',
|
|
|
+ 'tar' => 'application/x-tar',
|
|
|
+ 'tcl' => 'application/x-tcl',
|
|
|
+ 'tex' => 'application/x-tex',
|
|
|
+ 'texi' => 'application/x-texinfo',
|
|
|
+ 'texinfo' => 'application/x-texinfo',
|
|
|
+ 'tgz' => 'application/x-compressed',
|
|
|
+ 'tif' => 'image/tiff',
|
|
|
+ 'tiff' => 'image/tiff',
|
|
|
+ 'tr' => 'application/x-troff',
|
|
|
+ 'trm' => 'application/x-msterminal',
|
|
|
+ 'tsv' => 'text/tab-separated-values',
|
|
|
+ 'txt' => 'text/plain',
|
|
|
+ 'uls' => 'text/iuls',
|
|
|
+ 'ustar' => 'application/x-ustar',
|
|
|
+ 'vcf' => 'text/x-vcard',
|
|
|
+ 'vrml' => 'x-world/x-vrml',
|
|
|
+ 'wav' => 'audio/x-wav',
|
|
|
+ 'wcm' => 'application/vnd.ms-works',
|
|
|
+ 'wdb' => 'application/vnd.ms-works',
|
|
|
+ 'wks' => 'application/vnd.ms-works',
|
|
|
+ 'wmf' => 'application/x-msmetafile',
|
|
|
+ 'wps' => 'application/vnd.ms-works',
|
|
|
+ 'wri' => 'application/x-mswrite',
|
|
|
+ 'wrl' => 'x-world/x-vrml',
|
|
|
+ 'wrz' => 'x-world/x-vrml',
|
|
|
+ 'xaf' => 'x-world/x-vrml',
|
|
|
+ 'xbm' => 'image/x-xbitmap',
|
|
|
+ 'xla' => 'application/vnd.ms-excel',
|
|
|
+ 'xlc' => 'application/vnd.ms-excel',
|
|
|
+ 'xlm' => 'application/vnd.ms-excel',
|
|
|
+ 'xls' => 'application/vnd.ms-excel',
|
|
|
+ 'xlt' => 'application/vnd.ms-excel',
|
|
|
+ 'xlw' => 'application/vnd.ms-excel',
|
|
|
+ 'xof' => 'x-world/x-vrml',
|
|
|
+ 'xpm' => 'image/x-xpixmap',
|
|
|
+ 'xwd' => 'image/x-xwindowdump',
|
|
|
+ 'z' => 'application/x-compress',
|
|
|
+ 'zip' => 'application/zip',
|
|
|
+ );
|
|
|
|
|
|
public function __construct()
|
|
|
{
|
|
@@ -228,13 +359,17 @@ class Upload
|
|
|
}
|
|
|
$extension = pathinfo($files['name'], PATHINFO_EXTENSION);
|
|
|
$extension = strtolower($extension);
|
|
|
- if(!$extension){
|
|
|
- if(isset($this->mine[$files['type']]))
|
|
|
- {
|
|
|
- $extension = $this->mine[$files['type']];
|
|
|
- }
|
|
|
- }
|
|
|
- if(!in_array($extension, $this->allowed))
|
|
|
+ if(!in_array($files['type'], $this->mine) || !isset($this->mine[$extension]))
|
|
|
+ {
|
|
|
+ $data['code'] = 14071;
|
|
|
+ $data['src'] = '';
|
|
|
+ $data['size'] = 0;
|
|
|
+ $data['extension'] = $extension;
|
|
|
+ $data['msg'] = 'Not Allowed';
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ //如果设置允许所有文件上传就不检测
|
|
|
+ if($this->allowed[0] != '*' && !in_array($extension, $this->allowed))
|
|
|
{
|
|
|
$data['code'] = 1407;
|
|
|
$data['src'] = '';
|