A-A+
在mysql中存储任意格式的图片
之前用ASP的时候,用的是access数据库,图片可以以二进制的方式存储到access数据库当中,如果按照数据库规范标准,图片是不应该存储到数据库中的,而应该通过上传功能上传到指定文件夹,然后将图片的路径存储到数据库当中,这样会更规范,当然,大部分网站也是这样做的,没有人会把图片存储到数据库当中。
而如果我们网站的需求不是很大,或者有其它需要,就可以将图片上传到数据库当中,在 access 当中,将数据库转换成二进制就可以了,在PHP里,同样要将图片转换成字符,下面是一个可以将任意格式的图片存储到 mysql 数据库中的代码,在此分享下。
include("conn.php"); $filename = "这里写绝对路径的图片"; $fp=fopen($filename, "rb"); $picture = addslashes(fread($fp, filesize($filename))); $picture = base64_encode($picture); //fclose($fp); $query = "insert into data(id,filename,Image) valu es(NULL,'$filename', '$picture');"; $result = mysql_query($query)or die(mysql_error()); echo "存储图片成功。"; //读取图片: include('conn.php'); // 连接数据库查询 $sql="select * from data where id=55"; $result=mysql_query($sql); //$num_results=mysql_num_rows($result); $row=mysql_fetch_object($result); echo stripslashes(base64_decode($row->Image)); mysql_free_result($result); mysql_close($conn);
使用的时候修改对应的sql语句就可以了。也可以尝试将其写在同一个php文件中(输出图片的文件中不可写入其他内容)。^_^
那样数据库体积会不会很打呢?
我不会数据库
学习了,应该用得到。
从来没有尝试数据库里存放图片,一直都是存放路径的说
数据库对于我来说是个神秘的东西0.0
学习一下,好陌生的代码,自己还是不能入门。
企业的展示站可以用的到。不一定实用,但是个技术,就能有其他联想的可能。
存数据库并不好
没怎么看明白?图片多了的话,数据库吃得消吗?
博客不错,我喜欢,虽然我喜欢历史,但是我也是做IT的,哈哈,收藏啦
技术文章,强烈支持!
原来是这样操作的,有用!