使用finfo_file()函数检测上传图片的类型
2024-10-19 00:23:43
该函数可以检测文件的MIME类型。因为有时候我们只根据文件后缀来判断是不准确的。
function getMIME($filename){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
return finfo_file($finfo, $filename);
}
echo getMIME('test.jpg'); //image/jpeg
finfo_file 文档
(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)
finfo_file -- finfo::file — Return information about a file,This function is used to get information about a file.
完整例子:
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<title>文件上传</title>
</head>
<body>
<form accept="" method="post" enctype="multipart/form-data">
<input type="file" name="img[]" /><br />
<input type="submit" name="s" /><br />
</form>
<?php
//上传文件信息
$img = $_FILES['img'];
if ($img)
{
//文件存放目录,和本php文件同级
$dir = dirname(__file__);
$filename = $img['name'][0];
$tempname = $img['tmp_name'][0];
$savepath = "$dir\\$filename";
$state = move_uploaded_file($tempname, $savepath);
//如果上传成功,预览
if($state)
{
echo "<img src='$filename' alt='$filename' /> ";
}
$finfo = finfo_open(FILEINFO_MIME_TYPE);
//$mime = finfo_file($finfo, dirname(__FILE__)."/".$filename);
$mime = finfo_file($finfo, $savepath);
echo $mime;
}
?>
</body>
</html>
如果是jpg文件,输出image/jpeg。
最新文章
- js中JSON格式数据的转化
- Java 8函数编程轻松入门(二)Stream的使用
- java8日期时间
- 通过刷bios的方式在win8.1平板上启动windows phone模拟器
- Delphi调用约定
- android LocalActivityManager说明
- PHP IP互换数字[转]
- 201512读书分享——读《做自己的No.1》“哪一天”是永远不会到来的
- 非UI线程和UI线程通信
- [补档][Jxoi2012] 奇怪的道路
- python中强大的format函数
- Vijos 1404 遭遇战
- linux指定只显示(只打印)文件中的某几行(中间几行)
- 如何打包/运行jar包,及生成exe文件
- FFmpeg 裁剪——音频解码
- Using pointer to access array instead of index
- 剑指offer四之重建二叉树
- Entity Framework 6.x 学习之 - 创建带连接表的实体模型 with Database First
- spring框架学习(四)AOP思想
- 如何使用LaTeX让自己不乱?