免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4246 | 回复: 6
打印 上一主题 下一主题

用PHP向MySql中写入图片 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-24 14:47 |只看该作者 |倒序浏览
我们经常遇到的问题是如何将图片文件放到Mysql数据库当中,这样可以避免没有认证的用户找到我们的图片资源!

1、看看数据库里的表结构怎么写

CREATE TABLE Images
(
    PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Image BLOB,
    Comment TEXT
)--> PicNum -- 自动增加的ID号码
--> Image -- 二进制数据,用来放图片
--> Comment -- 注释信息,比如:这张照片是我7岁照的!
2、存储一张图片的步骤


//数据库的连接参数,例子当中这些参数在mysqlconnect.php中填写$MysqlHost = '';
$MysqlUser = '';
$MysqlPass = '';
$MysqlDb ='';

$ImagePath = 'mysqlimages/1.gif';
$Comment = '哈哈哈;
$ImageSize = filesize($ImagePath);
$MysqlImage = addslashes(fread(fopen($ImagePath, 'r'), $ImageSize));
mysql_connect($MysqlHost, $MysqlUser, $MysqlPass)     or die ('Unable to connect to SQL Server');
mysql_select_db($MysqlDb)                                         or die ('Unable to connect Database');
mysql_query("INSERT INTO Images (Image,Comment) VALUES ('$MysqlImage','$Comment')")   or die ("Can't Perform Query");addslashes()函数是将那些可能发生转意的字符加上\,如` ' " 这些符号!
$MysqlImage = addslashes(fread(fopen($ImagePath, 'r'), $ImageSize));这是个联合的写法,其它的不用解释!
就这样一张图片进入了mysql数据库

论坛徽章:
0
2 [报告]
发表于 2008-11-24 16:58 |只看该作者
图片小,量少好说,大的话数据库会给整趴下的吧。

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
3 [报告]
发表于 2008-11-24 18:37 |只看该作者
有个方法就挺好。

论坛徽章:
0
4 [报告]
发表于 2008-11-26 15:08 |只看该作者
从可扩展性和性能考虑,不建议这么做。

论坛徽章:
0
5 [报告]
发表于 2008-12-01 08:59 |只看该作者
我们现在就是这样做的,但是避免未认证的用户找图片,这个不是办法,读数据库本来消耗就很大,放到数据库里面,第一次读取的时候生成对应缓存,其它还是要用web服务器等做

论坛徽章:
0
6 [报告]
发表于 2008-12-24 13:32 |只看该作者
还真没做过直接扔到数据库的。。

量大了怎么办啊?

论坛徽章:
0
7 [报告]
发表于 2008-12-24 20:19 |只看该作者
这个都是好老的主体了。。。

前一个项目我就是使用数据库来存储所有的图片。。图片在2M以下,结合缓存还是蛮好使用的。

最重要的是管理方便。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP