php上传文件常用类型对照表
- 格式:xlsx
- 大小:10.75 KB
- 文档页数:4
php⽂件类型MIME对照表(⽐较全)由于内容过多,⼤家可以通过ctrl+F搜索即可IE浏览器id 后缀名 php识别出的⽂件类型0 gif image/gif1 jpg image/jpeg2 png image/png3 bmp image/bmp4 psd application/octet-stream5 ico image/x-icon6 rar application/octet-stream7 zip application/zip8 7z application/octet-stream9 exe application/octet-stream10 avi video/avi11 rmvb application/vnd.rn-realmedia-vbr12 3gp application/octet-stream13 flv application/octet-stream14 mp3 audio/mpeg15 wav audio/wav16 krc application/octet-stream17 lrc application/octet-stream18 txt text/plain19 doc application/msword20 xls application/vnd.ms-excel21 ppt application/vnd.ms-powerpoint22 pdf application/pdf23 chm application/octet-stream24 mdb application/msaccess25 sql application/octet-stream26 con application/octet-stream27 log text/plain28 dat application/octet-stream29 ini application/octet-stream30 php application/octet-stream31 html text/html32 htm text/html33 ttf application/octet-stream34 fon application/octet-stream35 js application/x-javascript36 xml text/xml37 dll application/octet-stream38 dll application/octet-stream⽕狐id 后缀名 php识别出的⽂件类型0 gif image/gif1 jpg image/pjpeg2 png image/x-png3 bmp image/bmp4 psd application/octet-stream5 ico image/x-icon6 rar application/octet-stream7 zip application/x-zip-compressed8 7z application/octet-stream9 exe application/octet-stream10 avi video/avi11 rmvb application/vnd.rn-realmedia-vbr12 3gp application/octet-stream13 flv application/octet-stream14 mp3 audio/mpeg15 wav audio/wav16 krc application/octet-stream17 lrc application/octet-stream18 txt text/plain19 doc application/msword20 xls application/vnd.ms-excel21 ppt application/vnd.ms-powerpoint22 pdf application/pdf23 chm application/octet-stream24 mdb application/msaccess25 sql text/plain26 con application/octet-stream27 log text/plain28 dat text/plain29 ini application/octet-stream30 php application/octet-stream31 html text/html32 htm text/html33 ttf application/octet-stream34 fon application/octet-stream35 js text/html36 xml text/xml37 dll application/octet-stream38 class application/java------------------------------ie和⽕狐⼀样* application/octet-stream //应⽤程序323 text/h323acx application/internet-property-stream ai application/postscriptaif audio/x-aiffaifc audio/x-aiffaiff audio/x-aiffasf video/x-ms-asfasr video/x-ms-asfasx video/x-ms-asfau audio/basicavi video/x-msvideoaxs application/olescriptbas text/plainbcpio application/x-bcpiobin application/octet-streambmp image/bmpc text/plaincat application/vnd.ms-pkiseccatcdf application/x-cdfcer application/x-x509-ca-certclass application/octet-streamclp application/x-msclipcmx image/x-cmxcod image/cis-codcpio application/x-cpiocrd application/x-mscardfilecrl application/pkix-crlcrt application/x-x509-ca-certcsh application/x-cshcss text/cssdcr application/x-directorder application/x-x509-ca-certdir application/x-directordll application/x-msdownload dms application/octet-stream doc application/msworddot application/msworddvi application/x-dvidxr application/x-directoreps application/postscriptetx text/x-setextevy application/envoyexe application/octet-streamfif application/fractalsflr x-world/x-vrmlgif image/gifgtar application/x-gtargz application/x-gziph text/plainhdf application/x-hdfhlp application/winhlphqx application/mac-binhex40 hta application/htahtc text/x-componenthtm text/htmlhtml text/htmlhtt text/webviewhtmlico image/x-iconief image/iefiii application/x-iphoneins application/x-internet-signup isp application/x-internet-signup jfif image/pipegjpe image/jpegjpeg image/jpegjpg image/jpegjpg image/pjpegjs application/x-javascript latex application/x-latexlha application/octet-streamlsf video/x-la-asflsx video/x-la-asflzh application/octet-streamm13 application/x-msmediaview m14 application/x-msmediaview m3u audio/x-mpegurlman application/x-troff-man mdb application/x-msaccess me application/x-troff-memht message/rfc822mhtml message/rfc822mid audio/midmny application/x-msmoney mov video/quicktimemovie video/x-sgi-moviemp2 video/mpegmp3 audio/mpegmpa video/mpegmpe video/mpegmpeg video/mpegmpg video/mpegmpp application/vnd.ms-project mpv2 video/mpegms application/x-troff-msmvb application/x-msmediaviewnws message/rfc822oda application/odap10 application/pkcs10p12 application/x-pkcs12p7b application/x-pkcs7-certificatesp7c application/x-pkcs7-mimep7m application/x-pkcs7-mimep7r application/x-pkcs7-certreqrespp7s application/x-pkcs7-signaturepbm image/x-portable-bitmappdf application/pdfpfx application/x-pkcs12pgm image/x-portable-graymappko application/ynd.ms-pkipkopma application/x-perfmonpmc application/x-perfmonpml application/x-perfmonpmr application/x-perfmonpmw application/x-perfmonpng image/x-pngpnm image/x-portable-anymappot, application/vnd.ms-powerpointppm image/x-portable-pixmappps application/vnd.ms-powerpointppt application/vnd.ms-powerpointprf application/pics-rulesps application/postscriptpub application/x-mspublisherqt video/quicktimera audio/x-pn-realaudioram audio/x-pn-realaudioras image/x-cmu-rasterrgb image/x-rgbrmi audio/midroff application/x-troffrtf application/rtfrtx text/richtextscd application/x-msschedulesct text/scriptletsetpay application/set-payment-initiation setreg application/set-registration-initiation sh application/x-shshar application/x-sharsit application/x-stuffitsnd audio/basicspc application/x-pkcs7-certificatesspl application/futuresplashsrc application/x-wais-sourcesst application/vnd.ms-pkicertstorestl application/vnd.ms-pkistlstm text/htmlsv4cpio application/x-sv4cpiosv4crc application/x-sv4crct application/x-trofftar application/x-tartcl application/x-tcltex application/x-textexi application/x-texinfotexinfo application/x-texinfotgz application/x-compressedtif image/tifftiff image/tifftr application/x-trofftrm application/x-msterminaltsv text/tab-separated-valuestxt text/plainuls text/iulsustar application/x-ustarvcf text/x-vcardvrml x-world/x-vrmlwav audio/x-wavwcm application/vnd.ms-workswdb application/vnd.ms-workswks application/vnd.ms-workswmf application/x-msmetafilewps application/vnd.ms-workswri application/x-mswritewrl x-world/x-vrmlwrz x-world/x-vrmlxaf x-world/x-vrmlxbm image/x-xbitmapxla application/vnd.ms-excelxlc application/vnd.ms-excelxlm application/vnd.ms-excelxls application/vnd.ms-excelxlt application/vnd.ms-excelxlw application/vnd.ms-excelxof x-world/x-vrmlxpm image/x-xpixmapxwd image/x-xwindowdumpz application/x-compresszip application/zip -firefoxapplication/x-zip-compressed -IEphp上传压缩⽂件(rar,7z,zip)php上传可执⾏⽂件(exe)php上传视频⽂件,⾳乐⽂件,歌词⽂件(avi,rmvb,3gp,flv,mp3,wav,krc,lrc)php上传⽂本⽂件和⽂档⽂件(word->doc,excel->xls,幻灯⽚->ppt,pdf,chm)php上传数据库⽂件(access⽂件,sql⽂件,con⽂件,⽇志⽂件log, dat⽂件)php上传⽹页⽂件,脚本⽂件,字体⽂件(ini,php,html,htm,字体⽂件:ttf,fon, js ,xml) php上传其他⽂件(class类⽂件,dll动态加载库⽂件)php⽂件类型对照表!很⽅便看出⽂件是什么类型。
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件) php上传图片文件(gif,jpg,bmp,png,psd,ico)史上最完全oophper亲测版php文件上传之文件类型对应表,ie,火狐各一份。
ie 火狐* application/octet-stream //应用程序323 text/h323acx application/internet-property-stream ai application/postscriptaif audio/x-aiffaifc audio/x-aiffaiff audio/x-aiffasf video/x-ms-asfasr video/x-ms-asfasx video/x-ms-asfau audio/basicavi video/x-msvideoaxs application/olescriptbas text/plainbcpio application/x-bcpiobin application/octet-streambmp image/bmpc text/plaincat application/vnd.ms-pkiseccat cdf application/x-cdfcer application/x-x509-ca-cert class application/octet-stream clp application/x-msclipcmx image/x-cmxcod image/cis-codcpio application/x-cpiocrd application/x-mscardfilecrl application/pkix-crlcrt application/x-x509-ca-cert csh application/x-cshcss text/cssdcr application/x-directorder application/x-x509-ca-cert dir application/x-directordll application/x-msdownload dms application/octet-streamdoc application/msworddot application/msworddvi application/x-dvidxr application/x-directoreps application/postscriptetx text/x-setextevy application/envoyexe application/octet-streamfif application/fractalsflr x-world/x-vrmlgif image/gifgtar application/x-gtargz application/x-gziph text/plainhdf application/x-hdfhlp application/winhlphqx application/mac-binhex40hta application/htahtc text/x-componenthtm text/htmlhtml text/htmlhtt text/webviewhtmlico image/x-iconief image/iefiii application/x-iphoneins application/x-internet-signup isp application/x-internet-signup jfif image/pipegjpe image/jpegjpeg image/jpegjpg image/pjpegjs application/x-javascript latex application/x-latexlha application/octet-stream lsf video/x-la-asflsx video/x-la-asflzh application/octet-stream m13 application/x-msmediaview m14 application/x-msmediaview m3u audio/x-mpegurlman application/x-troff-man mdb application/x-msaccess me application/x-troff-memht message/rfc822mhtml message/rfc822mid audio/midmny application/x-msmoney mov video/quicktimemovie video/x-sgi-moviemp2 video/mpegmp3 audio/mpegmpa video/mpegmpe video/mpegmpeg video/mpegmpp application/vnd.ms-projectmpv2 video/mpegms application/x-troff-msmvb application/x-msmediaviewnws message/rfc822oda application/odap10 application/pkcs10p12 application/x-pkcs12p7b application/x-pkcs7-certificates p7c application/x-pkcs7-mimep7m application/x-pkcs7-mimep7r application/x-pkcs7-certreqresp p7s application/x-pkcs7-signature pbm image/x-portable-bitmappdf application/pdfpfx application/x-pkcs12pgm image/x-portable-graymappko application/ynd.ms-pkipkopma application/x-perfmonpmc application/x-perfmonpml application/x-perfmonpmr application/x-perfmonpmw application/x-perfmonpng image/x-pngpnm image/x-portable-anymappot, application/vnd.ms-powerpointppm image/x-portable-pixmappps application/vnd.ms-powerpointppt application/vnd.ms-powerpointprf application/pics-rulesps application/postscriptpub application/x-mspublisherqt video/quicktimera audio/x-pn-realaudioram audio/x-pn-realaudioras image/x-cmu-rasterrgb image/x-rgbrmi audio/midroff application/x-troffrtf application/rtfrtx text/richtextscd application/x-msschedulesct text/scriptletsetpay application/set-payment-initiation setreg application/set-registration-initiation sh application/x-shshar application/x-sharsit application/x-stuffitsnd audio/basicspc application/x-pkcs7-certificates spl application/futuresplashsrc application/x-wais-sourcesst application/vnd.ms-pkicertstore stl application/vnd.ms-pkistlstm text/htmlsv4cpio application/x-sv4cpiosv4crc application/x-sv4crct application/x-trofftar application/x-tartcl application/x-tcltex application/x-textexi application/x-texinfotexinfo application/x-texinfotgz application/x-compressedtif image/tifftiff image/tifftr application/x-trofftrm application/x-msterminaltsv text/tab-separated-valuestxt text/plainuls text/iulsustar application/x-ustarvcf text/x-vcardvrml x-world/x-vrmlwav audio/x-wavwcm application/vnd.ms-works wdb application/vnd.ms-works wks application/vnd.ms-works wmf application/x-msmetafile wps application/vnd.ms-workswri application/x-mswritewrl x-world/x-vrmlwrz x-world/x-vrmlxaf x-world/x-vrmlxbm image/x-xbitmapxla application/vnd.ms-excelxlc application/vnd.ms-excelxlm application/vnd.ms-excelxls application/vnd.ms-excelxlt application/vnd.ms-excelxlw application/vnd.ms-excelxof x-world/x-vrmlxpm image/x-xpixmapxwd image/x-xwindowdumpz application/x-compresszip application/zip -firefox application/x-zip-compressed -IEphp上传压缩文件(rar,7z,zip)php上传可执行文件(exe)php上传视频文件,音乐文件,歌词文件(avi,rmvb,3gp,flv,mp3,wav,krc,lrc)php上传文本文件和文档文件(word->doc,excel->xls,幻灯片->ppt,pdf,chm)php上传数据库文件(access文件,sql文件,con文件,日志文件log, dat文件)php上传网页文件,脚本文件,字体文件(ini,php,html,htm,字体文件:ttf,fon, js ,x ml)php上传其他文件(class类文件,dll动态加载库文件)。
php⽂件上传后缀名与⽂件类型对照表(⼏乎涵盖所有⽂件)⽹上有很多php⽂件上传的类,⽂件上传处理是php的⼀个特⾊(⾄少⼿册上是将此作为php特点来展⽰的,个⼈认为php在数组⽅⾯的优异功能更有特⾊),学php的⼈都知道⽂件上传怎么做,但很多⼈在编程中却可能忽视了⼀些细节问题,那就是⽂件的类型(MIME)。
在表单将⽂件提交给php做处理之前,浏览器会先解析识别⼀边是什么类型的⽂件,之后进⼊php处理环节,php⼜会去识别解析此⽂件的原始类型(并不是说你改成什么后缀就是什么⽂件)。
在这个过程中会有⼀些浏览器兼容,更准确来说是⽂件类型解析标识不⼀致的问题。
这样在php处理Post过来的⽂件类型时就需要根据不同浏览器做更多的判断,最典型的就是IE和⽕狐下的区别。
php上传图⽚⽂件(gif,jpg,bmp,png,psd,ico)史上最完全oophper亲测版php⽂件上传之⽂件类型对应表,ie,⽕狐各⼀份。
ie⽕狐id后缀名php识别出的⽂件类型0gif image/gif1jpg image/jpeg2png image/png3bmp image/bmp4psd application/octet-stream5ico image/x-icon6rar application/octet-stream7zip application/zip87z application/octet-stream9exe application/octet-stream10avi video/avi11rmvb application/vnd.rn-realmedia-vbr 123gp application/octet-stream13flv application/octet-stream14mp3audio/mpeg15wav audio/wav16krc application/octet-stream17lrc application/octet-stream18txt text/plain19doc application/msword20xls application/vnd.ms-excel21ppt application/vnd.ms-powerpoint 22pdf application/pdf23chm application/octet-stream24mdb application/msaccess25sql application/octet-stream26con application/octet-stream27log text/plain28dat application/octet-stream29ini application/octet-stream30php application/octet-stream31html text/html32htm text/html33ttf application/octet-stream34fon application/octet-streamid后缀名php识别出的⽂件类型0gif image/gif1jpg image/pjpeg2png image/x-png3bmp image/bmp4psd application/octet-stream5ico image/x-icon6rar application/octet-stream7zip application/x-zip-compressed87z application/octet-stream9exe application/octet-stream10avi video/avi11rmvb application/vnd.rn-realmedia-vbr 123gp application/octet-stream13flv application/octet-stream14mp3audio/mpeg15wav audio/wav16krc application/octet-stream17lrc application/octet-stream18txt text/plain19doc application/msword20xls application/vnd.ms-excel21ppt application/vnd.ms-powerpoint 22pdf application/pdf23chm application/octet-stream24mdb application/msaccess25sql text/plain26con application/octet-stream27log text/plain28dat text/plain29ini application/octet-stream30php application/octet-stream31html text/html32htm text/html33ttf application/octet-stream34fon application/octet-stream36xml text/xml37dll application/octet-stream 38dll application/octet-stream 36xml text/xml37dll application/octet-stream 38class application/java* application/octet-stream //应⽤程序323 text/h323acx application/internet-property-stream ai application/postscriptaif audio/x-aiffaifc audio/x-aiffaiff audio/x-aiffasf video/x-ms-asfasr video/x-ms-asfasx video/x-ms-asfau audio/basicavi video/x-msvideoaxs application/olescriptbas text/plainbcpio application/x-bcpiobin application/octet-streambmp image/bmpc text/plaincat application/vnd.ms-pkiseccatcdf application/x-cdfcer application/x-x509-ca-certclass application/octet-streamclp application/x-msclipcmx image/x-cmxcod image/cis-codcpio application/x-cpiocrd application/x-mscardfilecrl application/pkix-crlcrt application/x-x509-ca-certcsh application/x-cshcss text/cssdcr application/x-directorder application/x-x509-ca-certdir application/x-directordll application/x-msdownloaddms application/octet-streamdoc application/msworddot application/msworddvi application/x-dvidxr application/x-directoreps application/postscriptetx text/x-setextevy application/envoyexe application/octet-streamfif application/fractalsflr x-world/x-vrmlgif image/gifgtar application/x-gtargz application/x-gziph text/plainhdf application/x-hdfhlp application/winhlphqx application/mac-binhex40hta application/htahtc text/x-componenthtm text/htmlhtml text/htmlhtt text/webviewhtmlico image/x-iconief image/iefiii application/x-iphoneins application/x-internet-signup isp application/x-internet-signup jfif image/pipegjpe image/jpegjpeg image/jpegjpg image/jpegjpg image/pjpegjs application/x-javascriptlatex application/x-latexlha application/octet-streamlsf video/x-la-asflsx video/x-la-asflzh application/octet-streamm13 application/x-msmediaviewm14 application/x-msmediaviewm3u audio/x-mpegurlman application/x-troff-manmdb application/x-msaccessme application/x-troff-memht message/rfc822mhtml message/rfc822mid audio/midmny application/x-msmoneymov video/quicktimemovie video/x-sgi-moviemp2 video/mpegmp3 audio/mpegmpa video/mpegmpe video/mpegmpeg video/mpegmpg video/mpegmpp application/vnd.ms-project mpv2 video/mpegms application/x-troff-msmvb application/x-msmediaview nws message/rfc822oda application/odap10 application/pkcs10p12 application/x-pkcs12p7b application/x-pkcs7-certificates p7c application/x-pkcs7-mimep7m application/x-pkcs7-mimep7r application/x-pkcs7-certreqresp p7s application/x-pkcs7-signature pbm image/x-portable-bitmappdf application/pdfpfx application/x-pkcs12pgm image/x-portable-graymap pko application/ynd.ms-pkipko pma application/x-perfmonpmc application/x-perfmonpml application/x-perfmonpmr application/x-perfmonpmw application/x-perfmonpng image/x-pngpnm image/x-portable-anymap pot, application/vnd.ms-powerpoint ppm image/x-portable-pixmappps application/vnd.ms-powerpointppt application/vnd.ms-powerpointprf application/pics-rulesps application/postscriptpub application/x-mspublisherqt video/quicktimera audio/x-pn-realaudioram audio/x-pn-realaudioras image/x-cmu-rasterrgb image/x-rgbrmi audio/midroff application/x-troffrtf application/rtfrtx text/richtextscd application/x-msschedulesct text/scriptletsetpay application/set-payment-initiation setreg application/set-registration-initiation sh application/x-shshar application/x-sharsit application/x-stuffitsnd audio/basicspc application/x-pkcs7-certificatesspl application/futuresplashsrc application/x-wais-sourcesst application/vnd.ms-pkicertstorestl application/vnd.ms-pkistlstm text/htmlsv4cpio application/x-sv4cpiosv4crc application/x-sv4crct application/x-trofftar application/x-tartcl application/x-tcltex application/x-textexi application/x-texinfotexinfo application/x-texinfotgz application/x-compressedtif image/tifftiff image/tifftr application/x-trofftrm application/x-msterminaltsv text/tab-separated-valuestxt text/plainuls text/iulsustar application/x-ustarvcf text/x-vcardvrml x-world/x-vrmlwav audio/x-wavwcm application/vnd.ms-workswdb application/vnd.ms-workswks application/vnd.ms-workswmf application/x-msmetafilewps application/vnd.ms-workswri application/x-mswritewrl x-world/x-vrmlwrz x-world/x-vrmlxaf x-world/x-vrmlxbm image/x-xbitmapxla application/vnd.ms-excelxlc application/vnd.ms-excelxlm application/vnd.ms-excelxls application/vnd.ms-excelxlt application/vnd.ms-excelxlw application/vnd.ms-excelxof x-world/x-vrmlxpm image/x-xpixmapxwd image/x-xwindowdumpz application/x-compresszip application/zip -firefoxapplication/x-zip-compressed -IE php上传压缩⽂件(rar,7z,zip) php上传可执⾏⽂件(exe) php上传视频⽂件,⾳乐⽂件,歌词⽂件(avi,rmvb,3gp,flv,mp3,wav,krc,lrc) php上传⽂本⽂件和⽂档⽂件(word->doc,excel->xls,幻灯⽚->ppt,pdf,chm) php上传数据库⽂件(access⽂件,sql⽂件,con⽂件,⽇志⽂件log, dat⽂件) php上传⽹页⽂件,脚本⽂件,字体⽂件(ini,php,html,htm,字体⽂件:ttf,fon, js ,xml) php上传其他⽂件(class类⽂件,dll动态加载库⽂件)。
一、文件结构:整个网站目录结构如下:(颜色示例:一级目录二级目录三级目录四级目录)/ 根目录(比如:/home/www/,可能会有所变化。
)|--- Documents(存放开发文档文件)|--- ProjectName1(存放项目1的文档)|--- Demond(需求文档)|--- Design(设计文档)|--- Test(测试文档)|--- Database(数据库文档)|--- Discuss(讨论记录)|--- ProjectName2(存放项目2的文档)|--- …………|--- Other(存放独立于项目之外的文档)|--- Include(存放包含文件)|--- Class(放置类定义文件,每一个类单独一个文件来定义。
)|--- ClassFile1|--- ClassFile2|--- …………|--- Config.inc.php 存储系统参数设置信息|--- Functions.inc.php 公用函数库文件|--- OtherFunction.inc.php 其他特定应用的函数库文件。
根据实际情况命名。
|--- Setup.inc.php 参数变量初始化文件。
其他的程序直接包含这个文件即可。
|--- Html|--- Images(存放网站图片文件,并根据栏目的名称建立相应的子目录)|--- ChannelName1(存放ChannelName1栏目的图片文件)|--- ChannelName2|--- CSS (存放网站样式表文件)|--- Include (存放网页中需要包含的文件,比如JS教本等等。
)|--- ChannelName1 (存放ChannelName1栏目的程序文件。
)|----ChannelName2|--- …………|--- Admin(存放整个网站的管理程序。
这个目录需要通过各种方法来加以保护。
)|-- -Cache(Smarty模板生成的Cache文件,目录权限需要Other可写。
webuploader参数列表WebUploader是一个基于HTML5的文件上传组件,因此它有很多可配置的参数。
以下是WebUploader的常用参数列表,共计超过1200字。
1. auto: 是否自动上传文件,默认值为true。
如果设置为true,则选择文件后自动开始上传。
2. swf: swf文件的路径。
当浏览器不支持HTML5时,会使用Flash上传。
需要指定一个swf文件的路径。
3. server: 服务器端处理上传请求的URL。
上传文件时,WebUploader会将文件提交到这个URL地址。
4. pick: 选择文件的按钮配置。
可以配置为一个选择文件按钮的DOM元素,也可以是一个选择文件按钮的选择器。
5. dnd: 指定Drag And Drop拖拽的容器,通过拖拽文件到容器区域可以选择文件。
6. disableGlobalDnd: 是否禁用浏览器的拖拽功能,默认值为false。
如果设置为true,则禁用浏览器的拖拽功能。
7. paste: 指定粘贴的容器,通过粘贴文件到容器区域可以选择文件。
8. thumb: 是否生成缩略图,默认值为true。
如果设置为true,则在选择文件后会生成缩略图显示。
10. resize: 是否允许改变图片的尺寸,默认值为false。
如果设置为true,则可以改变图片的尺寸。
11. accept: 允许上传的文件类型,可以是一个字符串或者数组。
字符串以逗号分隔不同的文件类型,如"jpg,jpeg,png";数组则是每个文件类型的详细配置。
12. chunked: 是否分片上传文件,默认值为false。
如果设置为true,则将大文件分成多个小片段上传。
14. threads: 文件上传的并发数,默认值为3、可以同时上传的文件个数。
15. formData: 额外的请求参数,可以是一个函数或者一个对象。
如果是函数,则每次上传文件时都会执行该函数来获取请求参数。
functionuploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_ dir){$MAX_SIZE = 2000000;$FILE_MIMES =array('image/pjpeg','image/jpeg','image/jpg','image/gif','image/png','image/x -png');$FILE_EXTS = array('.jpg','.gif','.png','.JPG','.GIF','.PNG');$file_path = $upload_dir.$targetname;if(!is_dir($upload_dir)){if(!mkdir($upload_dir))die("文件上传目录不存在并且无法创建文件上传目录");if(!chmod($upload_dir,0755))die("文件上传目录的权限无法设定为可读可写");}if($size>$MAX_SIZE)die("上传的文件大小超过了规定大小");if($size == 0)die("请选择上传的文件");if(!in_array($type,$FILE_MIMES) || !in_array($ext,$FILE_EXTS))die("请上传符合要求的文件类型");if(!move_uploaded_file($tmp_name, $file_p ath))die("复制文件失败,请重新上传");switch($error){case 0:echo "图片上传成功...<br/>";echo "3秒钟后自动跳转...如果没有跳转,<a href='uploadFile.php'>请点击这里</a>";return ;case 1:die("上传的文件超过了php.ini 中upload_max_files ize选项限制的值");case 2:die("上传文件的大小超过了HTML 表单中MAX_FILE_SIZE 选项指定的值");case 3:die("文件只有部分被上传");case 4:die("没有文件被上传");}}似乎PHP没有自带获取文件后缀名的函数,翻书也没找到,网上搜索也没有,就自己写了个函数,很轻松就可以获取了。
⽂件上传漏洞详解0x01 上传漏洞定义⽂件上传漏洞是指⽤户上传了⼀个可执⾏的脚本⽂件,并通过此脚本⽂件获得了执⾏服务器端命令的能⼒。
这种攻击⽅式是最为直接和有效的,“⽂件上传”本⾝没有问题,有问题的是⽂件上传后,服务器怎么处理、解释⽂件。
如果服务器的处理逻辑做的不够安全,则会导致严重的后果.0x02 上传漏洞危害1.上传⽂件是Web脚本语⾔,服务器的Web容器解释并执⾏了⽤户上传的脚本,导致代码执⾏。
2.上传⽂件是病毒或者⽊马时,主要⽤于诱骗⽤户或者管理员下载执⾏或者直接⾃动运⾏;3.上传⽂件是Flash的策略⽂件crossdomain.xml,⿊客⽤以控制Flash在该域下的⾏为(其他通过类似⽅式控制策略⽂件的情况类似);4.上传⽂件是病毒、⽊马⽂件,⿊客⽤以诱骗⽤户或者管理员下载执⾏。
5.上传⽂件是钓鱼图⽚或为包含了脚本的图⽚,在某些版本的浏览器中会被作为脚本执⾏,被⽤于钓鱼和欺诈。
除此之外,还有⼀些不常见的利⽤⽅法,⽐如将上传⽂件作为⼀个⼊⼝,溢出服务器的后台处理程序,如图⽚解析模块;或者上传⼀个合法的⽂本⽂件,其内容包含了PHP脚本,再通过"本地⽂件包含漏洞(Local File Include)"执⾏此脚本;等等。
0x03 上传漏洞满⾜条件⾸先,上传的⽂件能够被Web容器解释执⾏。
所以⽂件上传后所在的⽬录要是Web容器所覆盖到的路径。
其次,⽤户能够从Web上访问这个⽂件。
如果⽂件上传了,但⽤户⽆法通过Web访问,或者⽆法得到Web容器解释这个脚本,那么也不能称之为漏洞。
最后,⽤户上传的⽂件若被安全检查、格式化、图⽚压缩等功能改变了内容,则也可能导致攻击不成功。
0x04 上传漏洞产⽣的原因⼀些web应⽤程序中允许上传图⽚,⽂本或者其他资源到指定的位置,⽂件上传漏洞就是利⽤这些可以上传的地⽅将恶意代码植⼊到服务器中,再通过url去访问以执⾏代码.造成⽂件上传漏洞的原因是:1.服务器配置不当2.开源编辑器上传漏洞3.本地⽂件上传限制被绕过4.过滤不严或被绕过5.⽂件解析漏洞导致⽂件执⾏6.⽂件路径截断0x05 上传漏洞的原理⼤部分的⽹站和应⽤系统都有上传功能,⼀些⽂件上传功能实现代码没有严格限制⽤户上传的⽂件后缀以及⽂件类型,导致允许攻击者向某个可通过Web访问的⽬录上传任意PHP⽂件,并能够将这些⽂件传递给PHP解释器,就可以在远程服务器上执⾏任意PHP脚本。
⼀个完整的php上传功能完整代码(upload代码)创建⼀个⽂件上传表单允许⽤户从表单上传⽂件是⾮常有⽤的。
创建上传脚本"upload_file.php" ⽂件含有供上传⽂件的代码:<?phpif ($_FILES["file"]["error"] > 0){echo "错误:" . $_FILES["file"]["error"] . "<br>";}else{echo "上传⽂件名: " . $_FILES["file"]["name"] . "<br>";echo "⽂件类型: " . $_FILES["file"]["type"] . "<br>";echo "⽂件⼤⼩: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";echo "⽂件临时存储的位置: " . $_FILES["file"]["tmp_name"];}?>通过使⽤ PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传⽂件。
第⼀个参数是表单的 input name,第⼆个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。