PHP文件上传:后缀名与MIME类型对照全览

0 下载量 167 浏览量 更新于2024-08-30 收藏 72KB PDF 举报
"php文件上传后缀名与文件类型对照表(几乎涵盖所有文件)提供了在PHP中处理文件上传时可能会遇到的文件类型和它们对应的MIME类型。PHP文件上传是其常见应用之一,虽然PHP在数组处理上有显著优势,但文件上传同样重要。在表单提交文件到服务器的过程中,浏览器会先识别文件类型,然后PHP会进行进一步验证。由于不同浏览器对文件类型的解析可能存在差异,如IE和Firefox,因此在PHP中处理POST请求时需要考虑这些差异。 对于图像文件,如gif、jpg、bmp、png和psd,PHP可以识别它们的原始类型。例如,gif对应的MIME类型在IE下是`image/gif`,而在Firefox下同样是`image/gif`。jpg文件在IE下是`image/jpeg`,但在Firefox下是`image/pjpeg`。png文件在IE下是`image/png`,而Firefox识别为`image/x-png`。bmp和psd文件在两种浏览器下的MIME类型都是`image/bmp`和`application/octet-stream`。 除了图像文件,对照表还涵盖了其他类型的文件,如图标(ico)、压缩文件(rar、zip、7z)、可执行文件(exe)、视频(avi、rmvb、3gp)、流媒体(flv)、音频(mp3、wav)等。在不同的浏览器下,这些文件的MIME类型可能会有所不同。例如,rar和zip文件在IE和Firefox下都被识别为`application/octet-stream`,而7z也是同样的情况。exe文件同样被识别为`application/octet-stream`,表明它们是二进制数据流。avi视频在IE下是`video/avi`,而rmvb是`application/vnd.rn-realmedia-vbr`,表示RealNetworks的实时变码率媒体格式。3gp文件在IE下被识别为`application/octet-stream`,通常用于移动设备上的视频。flv视频也被识别为`application/octet-stream`,这通常是Flash视频格式。mp3和wav音频文件分别被识别为`audio/mpeg`和`audio/wav`,代表了MP3音频和WAV音频格式。 在实际开发中,开发者需要根据这些对照表来确保文件上传的安全性和兼容性。例如,如果只允许上传图像文件,可以通过检查MIME类型来过滤非图像文件。此外,由于IE和Firefox对某些文件类型的解析存在差异,需要在代码中添加额外的判断逻辑来确保一致的处理。在处理文件上传时,了解这些细节可以提高应用程序的健壮性和用户体验。"