我有一个 MySQL 表,其中一些数据 blob 数据存储在一个单元格中。
我试着回应它。
但我不知道该数据的 mime 类型。如何根据给定的 blob 数据确定 mime 类型?
我试过这段代码,但不知道 blob 的 mime 类型:
<?php
mysql_connect("localhost","root","");
mysql_select_db("contents");
$sql="SELECT * FROM `contents` limit 1";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);
echo $row['html']
?>
最佳答案
你必须在数据库中添加 mime 和 insert "blob"因为如果你强制,你可以选择这种方式:
if (!function_exists('mime_content_type ')) {
function mime_content_type($filename) {
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
return $mimetype;
}
}
$filename = tempnam('/tmp', 'cre');
$fp = fopen($filename, 'w');
fwrite($fp, $row['html']);
fclose($fp);
$ctype = mime_content_type($filename) ;
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".'samename'."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
unlink($filename);
echo $row['html'];
这种方式不好,因为有很多用法,但是是可以的。 我为您提供更新表并添加 mime 类型并通过顶部代码编辑所有记录...
你有第二种方式和使用:
header("Content-type: application/force-download");
这是强制下载头文件,可以将文件保存在用户的电脑中。
关于php - 如何获得可用的 mime 类型的 blob 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819381/