扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一般情况是将图片地址写入数据库,将图片文件上传到FTP中,如果要将图片写入mysql,你可以先将图片转成base64后再写入mysql,其实真没这个必要!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网站空间、营销软件、网站建设、垣曲网站维护、网站推广。
一般没有人这么做的,因为图片文件一般都比较大。试想一下你的一个图片大小为20KB,你有5000张这样的图片,那你的要消耗的就是100MB,而存放到数据库的大小肯定超过100MB,而且数据库对图片的提取对系统的消耗是很大的。
建议的做法是用一个字符串存储图片的路径,当然你还可以通天其他字段写上图片的大小啊什么的属性。如:表名为image img_id int(8) unsigned;img_dir varchar(100);img_weight float(6);img_height float(6);这样你就可以通过查询这几个字符串从而得到图片了。
如果你非要用数据库保存的话,mysql好像也确实提供了可以存储图片的格式,具体什么去查一下mysql帮助文档吧,我也既不清楚了。
GOOD LUCK!!!
1 图片文件 存储在磁盘 数据库存储磁盘的路径(字符串).
2 把图片文件序列化转成一个字符串 存储。
3 直接把图片文件存储到 大二进制字段里面。
1.把图片在文件系统里的路径存在数据库里
2.要读取图片的时候把数据库里的路径查出来,然后再根据路径在文件系统里读取图片。
笔者是在ubuntu环境下测试的:首先创建一个查询语句的文件
如query.sql(名字你自己取),内容大致如下:use
datebase_name;
//不解释了吧
select
xxx
from
table
where
where-condition....;
//就是一个你需要查询的语句保存好,现在开始操作:#mysql
-h
服务器ip地址
-u
用户名
-p密码
-p
端口
输出的文件名demo:
mysql
-h
127.0.0.1
-u
root
-p
1234
-p
3300
/home/michael/test.txt好了,现在你可以在对应的目录中找到你想要的文件了。
看你的表,图片不是保存在mysql数据库中,数据库中只是保存了图片的路径。想保存的数据库中必须定义字段为longblob类型如:`image` longblob ,然后
?
$connect = MYSQL_CONNECT( "localhost", "root", "admin") or die("Unable to connect to MySQL server");
mysql_select_db("blogsystem") or die("Unable to select database");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY( "INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
print "pThis file has the following Database ID: a href='get_data.php?id=$id'b$id/b/a";
MYSQL_CLOSE();
?
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流