All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
C#中用户控件的应用实例
在服务器上安装和使用MySQL的注意事项_php资料_编程技术
Asp.net中的页面乱码的问题_[Asp.Net教程]
用ASP+CSS实现网页随机背景_[Html教程]
C#中创建MDI应用程序
php用session做客户验证时的注意事项_php资料_编程技术
网页技巧:如何在网页上实现音乐播放?_JavaScript技术_编程技术
PHP程序安全基础:手工php注入总结_php资料_编程技术
javascript的document和window对象详解_JavaScript技术_编程技术
AJAX:如何处理书签和后退按钮_[AJAX教程]
Reading number is top 10 pictures
girl of HuNan name is LiXiang(湖南辣姐李湘的写真)
非笑不可:最强爆笑图片精选
怀春少女-石一伊
Sora aoi possession of boudoir1
Ashlynn Brooke photograph of a group4
有种屌丝级别的好妹子
So beauty, will let you spray blood10
湖南中医院的养生八图
分手的感悟
美丽的少女1
Download software ranking
XML+Web+Service开发教程
SQL2000 For 4IN1
Sora aoi's film--cangkong_Blue.Sky
Boxer's Top ten classic battle2
Unix video tutorial4
Photoshop 8.0图象编辑软件
徐若瑄成名作“魔鬼天使”
Unix video tutorial5
White deer villiage
电脑知识及技巧大合集
delv published in(发表于) 2013/12/29 4:47:41 Edit(编辑)
详解:——如何将图片储存在数据库里_php资料_编程技术

详解:——如何将图片储存在数据库里_php资料_编程技术

详解:——如何将图片储存在数据库里_php资料_编程技术-你的首页-uuhomepage.com


如果你想把二进制的数据,比如说图片文件和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





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.