php图片保存在mysql_php实现上传图片保存到数据库的方法
php实现上传图片保存到数据库的方法。分享给大家供大家参考。具体分析如下:
php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)
如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。
首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。
mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。
BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。
TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
数据表photo,用于保存图片数据,结构如下:
CREATE TABLE `photo` (
`id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(100) NOT NULL,
`binarydata` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
upload_image_todb.php:
// 连接数据库
$conn=@mysql_connect("localhost","root","") or die(mysql_error());
@mysql_select_db('demo',$conn) or die(mysql_error());
// 判断action
$action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';
// 上传图片
if($action=='add'){
$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type = $_FILES['photo']['type'];
$sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')";
@mysql_query($sqlstr) or die(mysql_error());
header('location:upload_image_todb.php');
exit();
// 显示图片
}elseif($action=='show'){
$id = isset($_GET['id'])? intval($_GET['id']) : 0;
$sqlstr = "select * from photo where id=$id";
$query = mysql_query($sqlstr) or die(mysql_error());
$thread = mysql_fetch_assoc($query);
if($thread){
header('content-type:'.$thread['type']);
echo $thread['binarydata'];
exit();
}
}else{
// 显示图片列表及上传表单
?>
upload image to db demo
图片:
$sqlstr = "select * from photo order by id desc";
$query = mysql_query($sqlstr) or die(mysql_error());
$result = array();
while($thread=mysql_fetch_assoc($query)){
$result[] = $thread;
}
foreach($result as $val){
echo '
';
}
?>
}
?>
希望本文所述对大家的php程序设计有所帮助。
php图片保存在mysql_php实现上传图片保存到数据库的方法相关推荐
- php实现上传图片保存到数据库的方法
http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载 这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保存在 ...
- python读取数据库导出文件_Python 获取 datax 执行结果保存到数据库的方法
执行 datax 作业,创建执行文件,在 crontab 中每天1点(下面有关系)执行: 其中 job_start 及 job_finish 这两行记录是自己添加的,为了方便识别出哪张表. #!/bi ...
- C#(WinForm)上传图片保存到数据库和从数据库读取图片显示到窗体
1 //浏览图片 2 3 private void btnUp_Click(object sender, EventArgs e) 4 5 { 6 7 OpenFileDialog ofd = new ...
- vue实现选择图片和预览,并保存到数据库中
效果展示 MYSQL数据库建表 如果不清楚vue怎么连接数据库,可以参考该链接: Vue项目通过node连接MySQL数据库并实现增删改查操作_呦呀的博客-CSDN博客_vue连接mysql数据库 在 ...
- 网页图片画圈指摘,然后保存进数据库
好久没写blog了.刚才在论坛,有位兄弟问我,如果页面上有张图片,如果图片有瑕疵,如何画个圆来标注出来.存进数据库. 这个设计是可行的,而且思路非常好. ie下需要注意: 透明canvas虽然能盖在图 ...
- java图片保存到数据库_java中将图片保存到数据库中
在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...
- 图片保存到数据库和从数据库读取图片并显示(C#)
图片保存到数据库的方法: public void imgToDB(string sql) { //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB(" ...
- 以二进制的形式保存在数据库中
转眼间在博客园里待了快一年了,我还能记得去年的这个时候老师有个项目,在这个项目里需要把图片保存到数据库里,以前我做的就是把路径保存到数据库,后来为了实现这个功能我可是费了不少劲啊,问东问西的最后还是在 ...
- 文件路径存入mysql_网站的文件的上传,并将相对路径保存到数据库的代码实现。...
如果网站使用的是struts2框架,那么上传功能可以这样做. 网站的建设过程中免不了要上传文件,比如管理员上传图片到服务器上,然后将文件的相对路径保存在数据库. 这里为什么说是相对路径保存在数据库,因 ...
最新文章
- 如何测试ASP.NET Core Web API
- UI_UITableView_搭建
- Scrapy框架学习记录
- php文字超链接怎么写,php 文本URL转换为超链接功能实例
- Java中对象和引用的理解
- access mysql oracle数据库_Oracle Access 数据库连接 使用
- Oracle数据库备份与还原命令 -- exp/imp
- mysql 分组group
- MySQL优化详解(二)——数据库架构和使用优化
- TextureView实现视频播放
- #Linux Shell 脚本编程(10)—文本过滤(合并与分割—sort、uniq、join、cut、paste、split)
- BT5 WIFI破解
- 华为终端穿戴软件测试,【华为终端测试面试】说说群面,可谓是 最...-看准网...
- 转载:中国经济酷似日泡沫时代:股市上涨和楼价疯涨
- matlab绘制正弦曲线
- MBA-day21 假言推理-练习题
- 产品商业需求文档_【器】我的产品需求文档心法
- 宠物小精灵之收服 01背包 POJ4102
- 为perf4j提供集中式监控项目perf4j-dashboard
- 红外遥控及Android手机红外遥控器开发
热门文章
- js同步获取文本框textarea输入的内容
- Could not open a connection to your authentication agent
- C# 网络编程之豆瓣OAuth2.0认证具体解释和遇到的各种问题及解决
- 基于路由器网络诊断步骤和故障排除技巧
- ISA SERVER日志存放SQL SERVER中
- 3升和5升的不规则容器怎样量出4升的水
- HTTP Host 头攻击
- 获赞23w+在B站一夜爆火,大写的牛B!程序员进阶网盘资源(有链接和提取码)...
- 计算机网络原理超详解说
- 架构师成长计划”牵手百度,聚焦未来数据中心基础架构|Science x Intel