之前需要利用 php 將圖片儲存進 MySQL 資料庫,今天整理了一下,做個筆記,因為 iammic
老是忘東忘西的,怕到時後需要用到又找不到可用的程式碼。在以下的程式中沒有特別去處理圖
片格式的相關程式,都假設上傳的圖片為 jpg 檔案,所以顯示格示直接使用
header("Content-type: image/jpeg");
方式處理,如果需要上傳不同圖片檔案格式,可以在上傳時,利用
_FILES['image']['type'];
取得圖片類型,做相關處理。
image DB 資料表
CREATE TABLE `imageDB` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`image` LONGBLOB
)
upload.html
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="image" />
<input type="submit" value="確定上傳"/>
</form>
upload.php 儲存圖片到 MySQL
<?php
//取得上傳檔案資訊
filename=_FILES['image']['name'];
tmpname=_FILES['image']['tmp_name'];
filetype=_FILES['image']['type'];
filesize=_FILES['image']['size'];
file=NULL;
if(isset(_FILES['image']['error'])){
if(_FILES['image']['error']==0){
instr = fopen(tmpname,"rb" );
file = addslashes(fread(instr,filesize(tmpname)));
}
}
//新增圖片到資料庫
conn=mysql_pconnect("127.0.0.1","test","1234");
mysql_select_db("test");
mysql_query("SET NAMES'utf8'");
sql=sprintf("insert into imageDB(image)values(%s)","'".file."'");
mysql_query(sql);
mysql_close(conn);
?>
display.php 顯示圖片
<?php
//從資料庫取得圖片
conn=mysql_pconnect("127.0.0.1","test","1234");
mysql_select_db("test");
mysql_query("SET NAMES'utf8'");
sql=sprintf("select * from imageDB where id=1");
result=mysql_query(sql);
//顯示圖片
if(row=mysql_fetch_assoc(result)){
header("Content-type: image/jpeg");
print row['image'];
}
mysql_close(conn);
?>
文章標籤
全站熱搜
