如何存取二進制文件,用以下代碼說明
首先創建測試表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的文件,那就要進系統方面的設置了。