php - 如何获得可用的 mime 类型的 blob 数据?

标签 php mysql blob

我有一个 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/

相关文章:

php - 将 SQL 数据插入 HTML 文本区域

php - 按日期排序sql

mysql - Sequelize - 如何使用 sequelize 将 csv 数据插入 mysql 中的多个表中

php - SQL 语句不会限制。显示没有结果

javascript - vue.js 条件渲染中的数组子项

php - 从laravel5中的模型和相关模型中搜索

mysql - 查询 EAV 数据库生成过多 "null"

javascript - AWS S3 获取不是有效的位图文件

javascript - FileSaver.js 和 Blob.js - 更改目录

java - 如何使用 blob 将文件存储在 mysql 数据库中