您当前的位置: 首页 > 网站编程 > PHP教程 > PHP将图片保存到MySQL数据库中

PHP将图片保存到MySQL数据库中

作者:不详 来源:网络 发布时间: 2014-07-15 22:30 点击:
如何把二进制的数据,比如说图片文件和HTML文件,直接保存在MySQL数据库中呢?我们首先应该知道,一般我们将信息插入到数据库中,这些信息都是是文本信息,而图片或文件是二进制信息,与文本信息截然不同。所以,我们先来在MySQL数据库中创建一个可以保存二进制数据的

PHP将图片保存到MySQL数据库中

   如何把二进制的数据,比如说图片文件和HTML文件,直接保存在MySQL数据库中呢?我们首先应该知道,一般我们将信息插入到数据库中,这些信息都是是文本信息,而图片或文件是二进制信息,与文本信息截然不同。所以,我们先来在MySQL数据库中创建一个可以保存二进制数据的表。

  进入MySQL的命令行界面,输入下面的内容。

  mysql> create database binary_data;

  mysql> use binary_data;

  mysql> CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));

  第一句是创建一个名为binary_data的数据库;

  第二句是切换到binary_data数据库下;

  第三句是创建一个名为binary_data的表,有一个自动增长的主键字段,名为id;有一个字符串字段为description,有一个类型为LONGBLOB的字段名为bin_data,它就是用来存放二进制数据的字段。其它字段还有文件名、文件大孝文件类型等,都可以为作为图片的相关属性。

  这样,MySQL数据库这边就准备好了,下面我们看看PHP程序中应该如何来做。

  <?PHP

  //不相关的代码就省略了,下面看看PHP如何接收图片文件,然后如何保存到数据库中

  //接收图片等文件

  $data = addslashes(fread(fopen($up_file, "r"), filesize($up_file)));

  //构造插入MySQL数据库的SQL语句

  $query=" INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) VALUES ('$description','$data','$up_file_name','$up_file_size','$up_file_type')";

  //执行SQL查询

  $result=MYSQL_QUERY($query);

  //取出执行得到的表的id

  $id= mysql_insert_id();

  print "<p>This file has the following Database ID: <b>$id</b>"; //显示文件在数据库中的ID

  //关闭数据库连接

  MYSQL_CLOSE();

  ?>

  下面看看提交图片的表单应该怎么设计。

  <form method='post' action='<?php echo $PHP_SELF; ?>' enctype='multipart/form-data'>

  文件描述:

  <input type='text' name='description' size='40'>

  <INPUT TYPE='hidden' name='MAX_FILE_SIZE' value='1000000'>

  保存文件:

  <input type='file' name='up_file' size='40'>

  <p><input type='submit' name='submit' value='submit'>

  </form>

  怎么样,看起来是不是很简单,这部分HTML代码真可谓一点技术含量都没有的。

  关于PHP将图片保存到MySQL数据库中,本文就介绍这么多,希望对您有所帮助,谢谢!
分享到:
本文"PHP将图片保存到MySQL数据库中"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4