php判断上传文件的格式

57 篇文章 1 订阅
23 篇文章 0 订阅
/**
 * 返回文件格式(附件类型)
 * @param  string $file 文件名
 * @return string  文件格式(1:文件、2:压缩包、3:图片、4:视频、5:音频、6、其他)
 */
function file_format($file){
    // 取文件后缀名
    $str = strtolower(pathinfo($file, PATHINFO_EXTENSION));
    //strtolower 将所有字符转换为小写
    //pathinfo 获取文件信息,详细用法见下面我的补充
    // 文档格式
    $text = array('exe','doc','docx','ppt','xls','xlsx','wps','txt','lrc','wfs','torrent','html','htm','java','js','css','less','php','pdf','pps','host','box','word','perfect','dot','dsf','efe','ini','json','lnk','log','msi','ost','pcs','tmp','xlsb');
    // 压缩格式
    $zip = array('rar','zip','tar','cab','uue','jar','iso','z','7-zip','ace','lzh','arj','gzip','bz2','tz');
    // 图片格式
    $image = array('webp','jpg','png','ico','bmp','gif','tif','pcx','tga','bmp','pxc','tiff','jpeg','exif','fpx','svg','psd','cdr','pcd','dxf','ufo','eps','ai','hdri');
    $video = array('mp4','avi','3gp','rmvb','gif','wmv','mkv','mpg','vob','mov','flv','swf','ape','m4a','m4r','ogg','wavpack');
    //音频格式
    $audio = array('wav','aif','au','mp3','ram','wma','mmf','amr','aac','flac');
    // 匹配不同的结果
    if(in_array($str, $text)){
        return 1;
    }elseif(in_array($str, $zip)){
        return 2; 
    }elseif(in_array($str, $image)){
        return 3;
    }elseif(in_array($str, $video)){
        return 4;
    }elseif(in_array($str, $audio)){
        return 5;
    }else{
        return 6;
    }
}

补充:关于pathinfo函数的定义和用法

pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。
返回的数组元素如下:
[dirname]:返回文件路径中的目录部分
[basename]:返回文件路径中文件名的部分
[extension]:返回文件路径中文件的类型的部分
语法   pathinfo(path,options) 

参数描述
path必需。规定要检查的路径。
options可选。规定要返回的数组元素。默认是 all。

可能的值:

  • PATHINFO_DIRNAME - 只返回 dirname
  • PATHINFO_BASENAME - 只返回 basename
  • PATHINFO_EXTENSION - 只返回 extension
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值