找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 544|回复: 0
打印 上一主题 下一主题

php实现上传图片保存到数据库的方法

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:49:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            php实现上传图片保存到数据库的方法。分享给大家供大家参考。具体分析如下:
php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)
如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。
首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。
mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。
BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。
TinyBlob       最大 255B
Blob              最大 65K
MediumBlob  最大 16M
LongBlob      最大 4G
数据表photo,用于保存图片数据,结构如下:
[U]复制代码[/U] 代码如下: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:
[U]复制代码[/U] 代码如下:
// 判断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   
   
  
  
   
  图片:
  
  
  
   
  
[img]upload_image_todb.php?action=show&id='.$val['id'].'&t='.time().'[/img]
';  
    }  
?>  
  
  


希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php ajax无刷新上传图片实例代码
  • PHP CKEditor 上传图片实现代码
  • 简单PHP上传图片、删除图片实现代码
  • php上传图片到指定位置路径保存到数据库的具体实现
  • php上传大文件失败的原因及应对策略
  • PHP中CheckBox多选框上传失败的代码写法
  • 解决PHP上传非标准格式的图片pjpeg失败的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端