如果你想把二进制的数据,比如说图片文件和html文件,直接保存在你的mysql数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过html表单来储存这些文件,怎样访问和使用这些文件。
一、本文概述
本文的主要内容如下:
* 在mysql中建立一个新的数据库
* 一个怎样储存文件的例子程序
* 一个怎样访问文件的例子程序
二、在mysql中建立一个新的database
首先,你必须在你的mysql中建立一个新的数据库,我们将会把那些二进制文件储存在这个数据库里。在例子中我会使用下列结构,为了建立数据库,你必须做下列步骤:
1. 进入mysql控制器
2. 输入命令"create database binary_data;"
3. 输入命令"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 {
// 否则显示储存新数据的表单
?>
当文件上传至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");
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器