如何存取二进制文件,用以下代码说明
首先创建测试表testtable
CREATE TABLE testtable ( id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,filename CHAR(255),data LONGBLOB );
将文件存入表中
<?
_connect( "localhost", "root", "password"); //连接
_select_db( "database"); //选定
$filename="" //这里填入二进制文件名
$data = addslashes(fread(fopen($filename, "r"), filesize($filename)));//打开文件并规范化数据存入变量$data中
$result=_query( "INSERT INTO testtable (filename,data) VALUES ('$filename','$data')");//数据插入到test表中
_close();
?>
从表中取回文件
<?
if($id) {
_connect( "localhost", "root", "password");
_select_db( "database");
$filename="" //这里填入二进制文件名
$query = "select data from testtable where filename=$filename";
$result = _query($query);
$data = _result($result,0, "data");
?>
这里要注意的是,一般只支持小于2M的文件,如果要存取大于2M的文件,那就要进系统方面的设置了。