比較普遍的方法是通過代碼實現。
創(chuàng)新互聯建站主營山南網站建設的網絡公司,主營網站建設方案,手機APP定制開發(fā),山南h5微信小程序定制開發(fā)搭建,山南網站營銷推廣歡迎山南等地區(qū)企業(yè)咨詢
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,區(qū)別在于各自所能夠保存的最大數據長度區(qū)別。
3、編寫上傳腳本?
接收上傳文件并將其存入到MySQL數據庫中。具體的腳本代碼如下,其中我們假定文件上傳域的名稱為Picture。
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;//顯示
先用php把數據庫中的圖片路徑讀取出來,然后把這個路徑嵌入到img元素的src中,就相當于把圖片的路徑轉化為圖片了。
php是采用二進制形式存儲圖片及讀取顯示的,首先通過代碼創(chuàng)建數據表,然后上傳圖片服務器再通過瀏覽器顯示,具體編程代碼舉例:
1、首先需要創(chuàng)建數據表,具體代碼如下圖所示。
2、然后寫上傳圖片到服務器的頁面 upimage.html用來將圖片上傳數據庫,如下圖所示代碼。
3、處理圖片上傳的php upimage.php文件,如下圖所示圖片已儲存到數據庫。
4、顯示圖片的php getimage.php文件,為了看一下效果提前把ID寫入代碼。
5、預覽網站從數據庫中提取了圖片,并顯示到頁面上。
數據庫中存的只是圖片的路徑,圖片放在相應的文件夾下,跟讀取其它的內容一樣直接輸出來讀取就可以了,讀到路徑后用img標簽就可以顯示圖片