打印本文 打印本文 关闭窗口 关闭窗口
MYSQL中如何存取二进制文件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数814  更新时间:2009/4/22 20:43:09  文章录入:mintao  责任编辑:mintao

在MySQL数据库中,不仅可以存放文字信息,还可以存放图片、声音、文件等二进制信息。本文将以PHP为脚本介绍如何在MySQL数据库中存取二进制文件。

首先创建测试表testtable

CREATE TABLE testtable ( id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,filename CHAR(255),data LONGBLOB );

将文件存入表中

mysql_connect( "localhost", "root", "password"); //连接数据库
  mysql_select_db( "database"); //选定数据库
  $filename="" //这里填入二进制文件名
  $data = addslashes(fread(fopen($filename, "r"), filesize($filename)));//打开文件并规范化数  据存入变量$data中
  $result=mysql_query( "INSERT INTO testtable (filename,data) VALUES ('$filename','$data')");//数据插入到数据库test表中
  mysql_close();
  ?>

从表中取回文件

if($id) {
  mysql_connect( "localhost", "root", "password");
  mysql_select_db( "database");
  $filename="" //这里填入二进制文件名
  $query = "select data from testtable where filename=$filename";
  $result = mysql_query($query);
  $data = mysql_result($result,0, "data");
  ?>
  这里要注意的是,PHP一般只支持小于2M的文件,如果要存取大于2M的文件,那就要进行系统方面的设置了。

打印本文 打印本文 关闭窗口 关闭窗口