知识大全 教你如何在MySQL数据库中直接储存图片

Posted 文件

篇首语:你必须非常努力,才能看起来毫不费力。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 教你如何在MySQL数据库中直接储存图片相关的知识,希望对你有一定的参考价值。

教你如何在MySQL数据库中直接储存图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  如果你想把二进制的数据 比如说图片文件和HTML文件 直接保存在你的MySQL数据库 那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件 怎样访问和使用这些文件

  本文概述

  在mysql中建立一个新的数据库

  一个怎样储存文件的例子程序

  一个怎样访问文件的例子程序

  在mysql中建立一个新的database

  首先 你必须在你的mysql中建立一个新的数据库 我们将会把那些二进制文件储存在这个数据库里 在例子中我会使用下列结构 为了建立数据库 你必须做下列步骤

   以下是引用片段 进入MySql控制器 输入命令 create database binary_data; 输入命令 use binary_data; 输入命令 CREATE TABLE binary_data ( id INT( ) NOT NULL AUTO_INCREMENT PRIMARY KEY description CHAR( ) bin_data LONGBLOB filename CHAR( ) filesize CHAR( ) filetype CHAR( )); (不能断行)   如果没有意外 数据库和表应该建立好了

  一个怎样储存文件的例子程序 用这个例子你可以通过Html表单将文件传输到数据库中

  store php 以下为引用的内容

   以下是引用片段  <?php // store php by Florian Dittmer <> ?> <HTML> <HEAD><TITLE>Store binary data into SQL Database</TITLE></HEAD> <BODY> <?php // 如果提交了表单 代码将被执行: if ($submit) // 连接到数据库 // (你可能需要调整主机名 用户名和密码) MYSQL_CONNECT( localhost root password ); mysql_select_db( binary_data ); $data = addslashes(fread(fopen($form_data r ) filesize($form_data))); $result=MYSQL_QUERY( INSERT INTO binary_data (description bin_data filename filesize filetype) VALUES ( $form_description $data $form_data_name $form_data_size $form_data_type ) ); $id= mysql_insert_id(); print <p>This file has the following Database ID: <b>$id</b> ; MYSQL_CLOSE(); else // 否则显示储存新数据的表单 ?> <form method= post action= <?php echo $PHP_SELF; ?> enctype= multipart/form data > File Description:<br> <input type= text name= form_description size= > <INPUT TYPE= hidden name= MAX_FILE_SIZE value= > <br>File to upload/store in database:<br> <input type= file name= form_data size= > <p><input type= submit name= submit value= submit > </form> <?php ?> </BODY> </HTML>

  如果你执行了这个程序 你将会看见一个简单的Html表单 单击 浏览 选择一个文件 然后单击提交

  当文件上传至web服务器之后 程序将会告诉你刚刚上传的文件的ID 记住这个ID 待会要用的

  一个怎样访问文件的例子程序

  你可以通过这个程序访问你刚才储存的文件

  以下为引用的内容

   以下是引用片段  <?php // getdata php by Florian Dittmer <> // 调用方法: getdata php ?id=<id> if($id) // 你可能需要调整主机名 用户名和密码: @MYSQL_CONNECT( localhost root password ); @mysql_select_db( binary_data ); $query = select bin_data filetype from binary_data where id=$id ; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result bin_data ); $type = @MYSQL_RESULT($result filetype ); Header( Content type: $type ); echo $data; ; ?>

  程序必须知道要访问那个文件 你必须将ID作为一个参数

  例如: 一个文件在数据库中的ID为 你可以这样调用它:

  getdata php ?id= 如果你将图片储存在数据库里 你可以向调用图片一样调用它

  Example: 一个图片文件在数据库中的ID为 你可以这样调用它:

   以下是引用片段 <img src= getdata php ?id= >

  怎样储存大于 MB的文件:

  如果你想储存大于 MB的文件 你必须对你的程序 PHP设置 SQL设置进行许多修改

  下面几条也许可以帮助你储存小于 MB的文件

  修改 store php 将 MAX_FILE_SIZE 的值改成

  修改你的PHP设置 在一般情况下 PHP只允许小于 MB的文件 你必须将max_filesize(在php ini中)的值改成

  去掉MYSQL的数据包大小限制 在一般情况下 MYSQL 小于 MB的数据包

  你必须用以下参数重启你的MYSQL

cha138/Article/program/MySQL/201311/29321

相关参考

知识大全 教你在c#中实现3层架构

  这篇文章讨论如何在c#中实现层架构使用MSAccess数据库存储数据在此我在层架构中实现一个小型的可复用的组件保存客户数据并提供添加更新查找客户数据的功能  背景  首先我介绍一些层架构的理论知识

知识大全 用 struts 向数据库中储存图片

  这个例子是通过用Struts的FormFile来写入到MySQL中    用用户通过选一个图片然后按submit就可以存入数据库中    其中先要建立一个表:    createtabletest

知识大全 教你轻松掌握数据库系统的一些专用词汇表[1]

  数据库系统的一些专用词汇表:  ·数据(Data)  反映客观世界的事实并可以区分其特征的符号字符数字文本声音图形图像图表图片等它们是现实世界中客观存在的可以输入到计算机中进行存储和管理的  ·信

知识大全 ASP程序直接连接MYSQL数据库

ASP程序直接连接MYSQL数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在网上查找大量

知识大全 .Net编写类库直接操作MySql数据库应用实例

.Net编写类库直接操作MySql数据库应用实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 数据从sqlserver导入mysql数据库的体验

  第一种是安装mysqlODBC利用sqlserver的导出功能选择mysql数据源进行数据的直接导出这种方法很简便但是针对实际应用有很多弊端最主要体现就是数据类型问题首先sqlserver数据库中

知识大全 教你巧用PHP+MySQL搭建一个聊天室

教你巧用PHP+MySQL搭建一个聊天室  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 教你使用MySQL触发器自动更新Memcache[1]

教你使用MySQL触发器自动更新Memcache[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 教你使用MySQL触发器自动更新Memcache[2]

教你使用MySQL触发器自动更新Memcache[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 水晶报表动态加载图片

  首先创建水晶报表rpt文件方法还是采用xsd数据集的方式简便容易操作记得将数据集中的相关字段设为你想要在报表中呈现的字段比如说在内容左边加入一个图片就将相应的图片字段拖放过去能不能直接在水晶报表上