该函数可以检测文件的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。

最新文章

  1. js中JSON格式数据的转化
  2. Java 8函数编程轻松入门(二)Stream的使用
  3. java8日期时间
  4. 通过刷bios的方式在win8.1平板上启动windows phone模拟器
  5. Delphi调用约定
  6. android LocalActivityManager说明
  7. PHP IP互换数字[转]
  8. 201512读书分享——读《做自己的No.1》“哪一天”是永远不会到来的
  9. 非UI线程和UI线程通信
  10. [补档][Jxoi2012] 奇怪的道路
  11. python中强大的format函数
  12. Vijos 1404 遭遇战
  13. linux指定只显示(只打印)文件中的某几行(中间几行)
  14. 如何打包/运行jar包,及生成exe文件
  15. FFmpeg 裁剪——音频解码
  16. Using pointer to access array instead of index
  17. 剑指offer四之重建二叉树
  18. Entity Framework 6.x 学习之 - 创建带连接表的实体模型 with Database First
  19. spring框架学习(四)AOP思想
  20. 如何使用LaTeX让自己不乱?

热门文章

  1. IOS调用WCF服务,WCF服务器进行上传图片
  2. UI基础之UIButton相关
  3. android studio 华为手机看不到具体的错误日志
  4. Robot Framework安装教程
  5. Java回调函数
  6. VM12安装OS X10.11步骤及说明
  7. DIY操作系统(引文)
  8. Jquery的multifile使用随记
  9. Linux环境变量配置
  10. 【转】Wince中文乱码解决方法