本文目錄一覽:
php中如何調用資料庫中的圖片並且顯示到頁面
php是採用二進位形式存儲圖片及讀取顯示的,首先通過代碼創建數據表,然後上傳圖片伺服器再通過瀏覽器顯示,具體編程代碼舉例:
1、首先需要創建數據表,具體代碼如下圖所示。
2、然後寫上傳圖片到伺服器的頁面 upimage.html用來將圖片上傳資料庫,如下圖所示代碼。
3、處理圖片上傳的php upimage.php文件,如下圖所示圖片已儲存到資料庫。
4、顯示圖片的php getimage.php文件,為了看一下效果提前把ID寫入代碼。
5、預覽網站從資料庫中提取了圖片,並顯示到頁面上。
php中如何從資料庫中讀取圖片?
比較普遍的方法是通過代碼實現。
1、源代碼:
// 把圖片上傳到資料庫
// 從資料庫中讀取圖片;
// 定義文件臨時目錄 是必要的
define(‘UPLOAD_PATH’,dirname(__FILE__).”/uploads/”);
if($_POST[“submit”]){
if($_FILES[‘photo’][‘size’]0 $_FILES[‘photo’][‘name’])
{
$photo_type=$_FILES[‘photo’][‘type’];
if(!($_FILES[‘photo’][‘type’]==’image/gif’ || $_FILES[‘photo’][‘type’]==’image/pjpeg’))
{
echo “商品圖片只能為GIF或者JPGE格式。”;
}else{
list($tmp,$file_ext) = explode(“/”,$_FILES[‘photo’][‘type’]);
$photo_name = mt_rand().”_”.time().”.”.$file_ext;
if(!move_uploaded_file($_FILES[‘photo’][‘tmp_name’], UPLOAD_PATH.$photo_name))
{
echo “商品圖片保存失敗。”;
echo “a href=javascript:window.history.go(-1)返回/a”;
exit(); // 下面的操作將不會進行;
}
}
}
$sql=”INSERT INTO `photo`(id,data,type)VALUES(”,’$photo_name’,’$photo_type’)”;
$query=mysql_query($sql);
if($query){
echo “圖片插入成功”;
}else{
echo “失敗的操作”;
echo “a href=javascript:window.history.go(-1)返回/a”;
exit();
}
$sql_show_pic=”SELECT * FROM `photo` “;
$query_show_pic=mysql_query($sql_show_pic);
while($result_pic_show=mysql_fetch_array($query_show_pic)){
//header(“Content-Type:” .$result_pic_show[“type”]);//這個不用啦
// uploads 必須寫的
echo “img src=uploads/”.$result_pic_show[‘data’].”br”;
}
}
?
form action=”” method=”post” enctype=”multipart/form-data”
p選擇上傳的圖片:/p
input type=”file” name=”photo” size=”50″ br/br
input type=”submit” name=”submit” value=”上傳”/
/form
2、需要使用的數據類型:
(1)一般來講都是把圖片保存到伺服器下,然後根據路徑讀出的,但是有時候出於安全及版權什麼的考慮,會把圖片保存到mysql的資料庫中,然後再讀出來,這樣的圖片點擊右鍵屬性,是看不到圖片地址的。下面逍遙一生就介紹下如何用php把圖片存儲到mysql中及如何讀出。
(2)MySQL資料庫使用專門的欄位來保存大容量的數據,數據類型為BLOB。
MySQL資料庫為BLOB做出的定義如下:BLOB數據類型是一種大型的二進位對象,可以保存可變數量的數據。BLOB具有四種類型,分別是TINYBLOB,BLOB, MEDIUMBLOB 與LONGBLOB,區別在於各自所能夠保存的最大數據長度區別。
3、編寫上傳腳本
接收上傳文件並將其存入到MySQL資料庫中。具體的腳本代碼如下,其中我們假定文件上傳域的名稱為Picture。
php 讀取 資料庫 圖片
1.如果資料庫中存放的是圖片的路徑,你取出資料庫中的欄位如$pic
然後 就能顯示了。
2.如果資料庫中存放的是圖片,最好是unix的平台,要不可能顯示不出來 ,
你直接從庫中取出圖片就行了:
$query = “select pic from binary_data where id=$id”;
$result = @MYSQL_QUERY($query);
$pic = @MYSQL_RESULT($result,0, “pic”);
Header( “Content-type: $type”);
echo $pic;//顯示
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183416.html