用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5768|回复: 6
收起左侧

请问针对mysql中的BLOB字段,php该如何处理

[复制链接]
发表于 2009-11-13 13:14:45 | 显示全部楼层 |阅读模式
本帖最后由 heraldic 于 2009-11-13 15:12 编辑

例子bookstore中采取的是存封面路径的方式,回避了二进制字段,请问,如果数据库中有二进制字段,如何处理呢?

比如输出一个含有二进制字段的表的数据列表,用户双击其中的二进制字段时候,我想弹出其内容。
发表于 2009-11-13 14:06:39 | 显示全部楼层
二进制内容你怎么在网页上编辑呀?有很多指令字符会出问题
我是用bin2hex()把它转成16进制编辑
 楼主| 发表于 2009-11-13 14:19:30 | 显示全部楼层
谢版主回复

编辑是没法的,可能是我表述不对

我的意思是采取mime编码打包上传或者下载,比如这个字段存有pdf、gif、jpg、word之类的数据
发表于 2009-11-13 14:54:37 | 显示全部楼层
下载,可以用 ci 的下载辅助函数,实际上就是发送一个特殊的 http header
php 读取二进制信息和字符串没区别,因为 PHP 的字符串支持二进制信息。
有了这个二进制字符串,就可以直接发送到客户端了,用 ci 的下载辅助函数,或你自己写 http header
 楼主| 发表于 2009-11-13 15:09:10 | 显示全部楼层
Hex老大指的是$this->load->helper('download');这个包吗?

上传呢?

我在手册中找到了upload包
其中可以实现文件的上传到服务器,
我的问题就是:
如何把上传的内容传到数据库的字段中?直接赋值?
一般的insert语句代码是这样的:
$data = array(
               'title' => $title,
               'name' => $name,
               'date' => $date
            );

$this->db->insert('mytable', $data);

// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')

如果我有个photo字段,是BLOB类型,是否也可以这样处理?
发表于 2009-11-13 17:14:53 | 显示全部楼层
二进制数据如何存储,你应该看一下 MySQL 的手册,我没存储过二进制数据。

PS: 二进制文件存储到 mysql 中没什么优势吧。。。
 楼主| 发表于 2009-11-18 09:09:22 | 显示全部楼层
不存库里面了,直接上传存文件,谢谢hex

本版积分规则