php – 如何获取要下载的文件的MIME类型?
发布时间:2020-12-13 21:40:14 所属栏目:PHP教程 来源:网络整理
导读:我必须点击链接下载列出的文件,因为我使用了下面的脚本,但是当文件被下载时,它无法确定下载文件的扩展名.那么,如何获取要下载的文件的MIME类型? _请帮忙… $filename = $_GET['val']; // Fetch the file info. $filePath = $_SERVER['DOCUMENT_ROOT'] . "df
我必须点击链接下载列出的文件,因为我使用了下面的脚本,但是当文件被下载时,它无法确定下载文件的扩展名.那么,如何获取要下载的文件的MIME类型? _请帮忙…
$filename = $_GET['val']; // Fetch the file info. $filePath = $_SERVER['DOCUMENT_ROOT'] . "dfms/images/uploads/".$filename; if(file_exists($filePath)) { echo $fileName = basename($filePath); $fileSize = filesize($filePath); // Output headers. header("Cache-Control: private"); header("Content-Type: application/octet"); header("Content-Length: ".$fileSize); header("Content-Disposition: attachment; filename=".$fileName); // Output file. readfile ($filePath); exit(); } else { die('The provided file path is not valid.'); } 解决方法
使用FileInfo扩展中的finfo_file函数(在PHP 5.3中默认启用).
http://www.php.net/manual/en/function.finfo-file.php 从文档中的示例 $finfo = finfo_open(FILEINFO_MIME_TYPE); echo finfo_file($finfo,$filename); finfo_close($finfo); 在5.3之前的PHP版本中,可以安装pecl扩展http://pecl.php.net/package/Fileinfo 但是在这种情况下,它需要magic_open(libmagic)库http://sourceforge.net/projects/libmagic 另一种方法是使用不推荐使用的函数mime_content_type($filename)http://au.php.net/manual/en/function.mime-content-type.php 它依赖于mime.magic文件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |