益乐网,yn66.com益你溜溜
网站地图 益乐旗下网站主机域名 云南顺网 益乐代理平台 文山生活网 文山广南网
益乐网首页
首页
益乐论文
论文
益乐作文
作文
精品试题试卷
试题
电脑学习教程
教程
电影视频娱乐
电影
动漫娱乐
动画
音乐试听
音乐
商家企业名录
商家
益乐商品销售
购物
益乐精品图书
书吧
益乐图片欣赏
图吧
益乐论坛
论坛
益乐服务
服务
城市乡镇导航
乡镇
益乐软件下载
软件
  您现在的位置: 益乐学习网 >> 教程 >> 建站荟萃 >> 服务器配置 >> 正文

站内教程搜索 高级搜索

 

最新教程
  • 没有文章

  • 教程赞助商
     

    教程专题导航
     

    如何将图片储存在MySQL
    作者:佚名    教程来源:不详    点击数:    更新时间:2005-10-17
    如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。 

    本文概述: 
    。在mysql中建立一个新的数据库 
    。一个怎样储存文件的例子程序 
    。一个怎样访问文件的例子程序 

    在mysql中建立一个新的database 

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

    你必须做下列步骤: 
    。进入MySql控制器 
    。输入命令"create database binary_data;" 
    。输入命令"use binary_data;" 
    。输入命令 
    "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));" (不能断行) 
    如果没有意外,数据库 和 表 应该建立好了。 

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

    用这个例子你可以通过Html表单将文件传输到数据库中。 

    store.php3 
    // store.php3 - by Florian Dittmer 
    ?> 



    // 如果提交了表单,代码将被执行: 
    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 "
    This file has the following Database ID: $id"; 
    MYSQL_CLOSE(); 
    } else { 
    // 否则显示储存新数据的表单 
    ?> 

    File Description:




    File to upload/store in database:







    ?> 



    如果你执行了这个程序,你将会看见一个简单的Html表单,单击“浏览”选择一个文件,然后单击提交。 
    当文件上传至web服务器之后,程序将会告诉你刚刚上传的文件的ID,记住这个ID,待会要用的。 
    一个怎样访问文件的例子程序 

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

    // getdata.php3 - by Florian Dittmer 
    // 调用方法: getdata.php3?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,0, "bin_data"); 
    $type = @MYSQL_RESULT($result,0, "filetype"); 
    Header( "Content-type: $type"); 
    echo $data; 
    }; 
    ?> 

    程序必须知道要访问那个文件, 你必须将ID作为一个参数。 
    例如: 一个文件在数据库中的ID为2. 你可以这样调用它: 
    getdata.php3?id=2 
    如果你将图片储存在数据库里, 你可以向调用图片一样调用它。 
    Example: 一个图片文件在数据库中的ID为3. 你可以这样调用它: 


    怎样储存大于1MB的文件: 
    如果你想储存大于1MB的文件,你必须对你的程序、PHP设置、SQL设置进行许多修改,。 

    下面几条也许可以帮助你储存小于24MB的文件: 
    1、修改 store.php3 ,将 MAX_FILE_SIZE 的值改成 24000000。 
    2、修改你的PHP设置,在一般情况下,PHP只允许小于2MB的文件,你必须将max_filesize(在php.ini中)的值改成24000000 
    3、去掉MYSQL的数据包大小限制,在一般情况下 MYSQL 小于1 MB的数据包. 
    4、你必须用以下参数重启你的MYSQL 
    /usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M 
    5、如果仍然出错: 
    可能是超时错误,如果你通过一个很慢的连接来储存一个很大的文件,PHP缺省的时间限制为30秒。你可以将max_execution_time(在php.ini中)的值改为-1


    复制链接】  【字体: 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】【向上
  • 上一篇教程:

  • 下一篇教程:
  • 版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留。文章版权归我站和作者共有。转载非我站原创文章时,亦请保留版权信息。
    转载要求:转载之图片、文件、视频,链接请不要直接链到本站,且不准在图片打上各自站点的水印,亦不能抹去我站点水印。
    特别注意:本站所提供的摄影照片,插画,设计作品,如需用于商业用途,请务必与原作者联系,版权归原作者所有。若因未取得授权而收起的版权争议,由侵权者自行负责。详情请查看本站的版权声明
    快 乐 团 购


    ◆ 相关文章
    重装系统如何恢复Win98备份文件 备…
    老系统如何实现自动关机 老系统 自…
    如何在Linux环境模拟DOS命令
    如何在DOS下操作回收站
    如何在DOS下使用长文件名
    如何让IE和Netscape共享书签和收藏…
    IE:如何让你的网络优先拨通
    IE:如何加快网页下载速度
    IE:如何做到全屏显示
    IE:如何使用断点续传功能
    ◆ 热点文章排行
    ◆ 推荐文章
    益乐精彩广告

    姓 名: * 性别:
    邮 件: Q Q:
    MSN: ICQ:
    主 页:
    评 分: 1分 2分 3分 4分 5分 优秀
    内 容:
    *    
          想要畅所欲言吗? 请注册成为益乐网论坛会员.
     
    益乐网,学习者自己的资讯门户 本站原创文章版权归 益乐网 所有, 已注明来源的文章版权归原作者所有, 转载敬请注明出处!
    网站客服QQ: 1697989  网管QQ: 121050419   电话: 0876-8887070   Email:
    益乐网国际域名:www.YN66.com    益乐网国内域名: www.YN6.cn  滇ICP备05002904号