/**
* 返回文件格式(附件类型)
* @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。 可能的值:
|