如何存取二進制文件,用以下代碼說明
首先創(chuàng)建測試表testtable
CREATE TABLE testtable ( id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,filename CHAR(255),data LONGBLOB );
將文件存入表中
mysql_connect( "localhost", "root", "password"); //連接數(shù)據(jù)庫
mysql_select_db( "database"); //選定數(shù)據(jù)庫
$filename="" //這里填入二進制文件名
$data = addslashes(fread(fopen($filename, "r"), filesize($filename)));//打開文件并規(guī)范化數(shù)據(jù)存入變量$data中
$result=mysql_query( "INSERT INTO testtable (filename,data) VALUES ('$filename','$data')");//數(shù)據(jù)插入到數(shù)據(jù)庫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的文件,那就要進系統(tǒng)方面的設(shè)置了。