php判断是否是mp3其实就是判断文件的MIME类型,其中mp3的MIME类型为 audio/mpeg
以下几种方法可以获得文件的MIME类型,得到文件类型后就可以进行判断了:
1、mime_content_type()函数判断获取文件类型,然后判断是否是mp3
mime_content_type返回指定文件的MIME类型,用法:
echo mime_content_type('xxx.mp3') ."n"echo mime_content_type('test.php')
// 输出:
audio/mpeg
text/plain
但是php 5.3.0已经将该函数废弃。如果仍想使用此函数,那么可以对php进行配置启用magic_mime扩展。
2、php Fileinfo 获取文件类型(finfo_open)
PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP 5.3.0+已经默认支持Fileinfo函数(fileinfo support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。
用法:
$finfo = finfo_open(FILEINFO_MIME)$mimetype = finfo_file($finfo, $filename)
finfo_close($finfo)
3、php获取上传文件类型
如果使用php上传文件,检测上传文件的MIME类型,则可以使用全局变量$_FILES['uploadfile']['type'],由客户端的浏览器检测获取文件MIME类型。
得到MIME类型后,再判断是不是audio/mpeg 即可
/*** 获取文件类型
* @param string $filename 文件名称
* @return string 文件类型
*/
function getFileType($filename) {
return substr($filename, strrpos($filename, '.') + 1)
}
/**
* 获取文件类型2
* @param string $filename 文件名称
* @return string 文件类型
*/
function getFileType2($filename) {
return strtolower(pathinfo($filename)['extension'])
}
/**
* 获取文件类型3
* @param string $filename 文件名称
* @return string 文件类型
*/
function getFileType3($filename) {
return $exten[count($exten = explode('.', $filename)) - 1]
}
/**
* 获取文件类型4
* @param string $filename 文件名称
* @return string 文件类型
*/
function getFileType4($filename) {
$exten = explode('.', $filename)
return end($exten)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)