php中怎么判断格式的文件类型

php中怎么判断格式的文件类型,第1张

/**

 * 获取文件类型

 * @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)

}

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 即可

is_file

(PHP 4, PHP 5, PHP 7)

is_file — 判断给定文件名是否为一个正常的文件

说明

is_file ( string $filename ) : bool

判断给定文件名是否为一个正常的文件。

参数

filename

文件的路径。

返回值

如果文件存在且为正常的文件则返回 TRUE,否则返回 FALSE。

Note: 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11494349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存