如何存取二进制文件,用以下代码说明
首先创建测试表testtable
create table testtable ( id int(5) not null auto_increment primary key,filename char(255),data longblob );
将文件存入表中
<?php
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();
?>
从表中取回文件
<?php
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的文件,那就要进系统方面的设置了。
新闻热点
疑难解答