北京北大青鳥校區(qū)學(xué)術(shù)部老師講解:在MySQL數(shù)據(jù)庫中,不僅可以存放文字信息,還可以存放圖片、聲音、文件等二進(jìn)制信息。那么在MYSQL數(shù)據(jù)庫中中如何存取二進(jìn)制文件?下面,北京北大青鳥校區(qū)學(xué)術(shù)部老師將以PHP為腳本給大家做一個(gè)介紹:
首先創(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= //這里填入二進(jìn)制文件名
$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= //這里填入二進(jìn)制文件名
$query = select data from testtable where filename=$filename;
$result = mysql_query($query);
$data = mysql_result($result,0, data);
?>
這里要注意的是,PHP一般只支持小于2M的文件,如果要存取大于2M的文件,那就要進(jìn)行系統(tǒng)方面的設(shè)置了。 (北京北大青鳥校區(qū)提供)