使用finfo_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>

需要注意的是,finfo_file 函数需要 PHP 版本 >= 5.3.0,如果低于 5.3,那么需要到 php.ini 里,将 extension=php_fileinfo.dll 前面的分号去掉来启用。

原文地址:https://www.cnblogs.com/shaohuixia/p/5464704.html