Php finfo_文件返回空字符串
我试图在移动上传的文件之前检查它的mime类型,但我无法让Php finfo_文件返回空字符串,php,mime-types,Php,Mime Types,我试图在移动上传的文件之前检查它的mime类型,但我无法让finfou_file返回任何内容 $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $_FILES['imageFile']['tmp_name']); echo $mime; // returns NOTHING! …因此,只需在finfo_文件中进行测试即可,并且文件路径良好: echo phpversion(); // returns 5.1.
finfou_file
返回任何内容
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['imageFile']['tmp_name']);
echo $mime;
// returns NOTHING!
…因此,只需在finfo_文件中进行测试即可,并且文件路径良好:
echo phpversion();
// returns 5.1.28
$finfo = finfo_open(FILEINFO_MIME_TYPE);
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . ', ';
}
// returns text/plain, text/html, image/png, directory, text/x-asm, text/x-php, text/x-php, text/x-php, directory, directory
echo move_uploaded_file($_FILES['imageFile']['tmp_name'], getcwd().'/uploadsTemp/'. uniqid());
// returns 1
不知何故,
finfou文件
无法读取该文件 这可能是一个愚蠢的答案,因为您可能有很多原因无法使用此选项,但是
你不能仅仅使用$\u文件[“Img”][“type”]
并使用它所给出的MIME类型吗
如果这不能回答您的问题,很抱歉。今天我遇到了相同的问题,这是因为上传的文件比php.ini中的upload_max_文件大 我只是在这里注意到它,因为我在其他帖子中找不到这个解决方案。我相信,它(
finfo_file
)不仅返回mime类型,还返回文件内容的文本描述
尝试使用此$imageinfo['mime']
。也许有帮助
还有一个建议,但我不确定,为什么你必须使用
$\u文件['imageFile']['tmp\u name']
而不是$\u文件['imageFile']['name']
?使用临时文件是否如此重要?这在什么操作系统上运行?$\u文件[“Img”][“type”]无法确定正确的mime,并且可能被欺骗