php-上传mp3,doc,ppt,sql,zip,tar,rar文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php-上传mp3,doc,ppt,sql,zip,tar,rar文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

我想让我的用户可以自由上传我的在线存储站点中的所有类型的文件.我只知道如何上传这些图像文件

//other code   
 $_FILES["file"]["type"] == "image/jpeg"
 $_FILES["file"]["type"] == "image/jpg"
 $_FILES["file"]["type"] == "image/pjpeg"
 $_FILES["file"]["type"] == "image/x-png"
 $_FILES["file"]["type"] == "image/png"
//other code

使用ebove代码,我可以将给定的扩展文件上传到我的网站.但是我想上传.mp3 .doc .ppt .docx. pptx .sql和更多可能的文件.为此,我应该在下面的“问号”中添加以下内容

 $_FILES["file"]["type"] == ?          // for mp3
 $_FILES["file"]["type"] == ?          // for doc/docx
 $_FILES["file"]["type"] == ?          // for ppt/pptx 
 $_FILES["file"]["type"] == ?          // for sql
 $_FILES["file"]["type"] == ?          // for zip/tar/rar

请告诉我是否有文件所有扩展名的列表,我应该写些什么来上传要求的文件

– -谢谢.

解决方法:

$_FILE [‘file’] [‘type’]中提供的MIME类型是客户端提供的信息,可以被伪造.不要相信它也可能因机器而异,因为您看到自己对每个扩展都没有一个MIME描述,因此依靠它来做出任何决定可能会非常令人沮丧.

有人可以向您发送music.PHP并说出音频/ mp3,将其保存在您的网站文件夹中,而您刚刚给他们提供了破坏整个服务器的手段.不要这样

而是使用文件扩展名确定其类型.您还可以列出数组中所有允许的扩展名,然后仅检查此数组中是否存在文件扩展名.

$allowed_extensions = array(
    'mp3', 'mp4', 'doc', 'zip', 'rar',
    'docx', 'ppt', 'pps', 'pptx' // ...
);
if (!in_array(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION), $allowed_extensions))
    die("You can't upload this.");

或者,您可以改为禁止危险的文件扩展名并允许其他所有内容,考虑到要允许“任何类型的文件”,这样做会更容易.

$disallowed_extensions = array('exe', 'scr', 'cpl', 'bat', 'PHP', 'htaccess');
if (in_array(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION), $disallowed_extensions))
    die("You can't upload this.");

也要小心文件名. $_FILES [‘file’] [‘name’]中提供的文件名应仅为文件基本名,但该信息再次由用户提供,并且可以包含完整或相对路径以使脚本将其保存在以下位置不应该.始终使用basename($_ FILES [‘file’] [‘name’])来确保在保存文件时使用的是文件名.

脚本宝典总结

以上是脚本宝典为你收集整理的php-上传mp3,doc,ppt,sql,zip,tar,rar文件全部内容,希望文章能够帮你解决php-上传mp3,doc,ppt,sql,zip,tar,rar文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: