php是采用二進(jìn)制形式存儲圖片及讀取顯示的,首先通過代碼創(chuàng)建數(shù)據(jù)表,然后上傳圖片服務(wù)器再通過瀏覽器顯示,具體編程代碼舉例:
目前創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、賓縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、首先需要創(chuàng)建數(shù)據(jù)表,具體代碼如下圖所示。
2、然后寫上傳圖片到服務(wù)器的頁面 upimage.html用來將圖片上傳數(shù)據(jù)庫,如下圖所示代碼。
3、處理圖片上傳的php upimage.php文件,如下圖所示圖片已儲存到數(shù)據(jù)庫。
4、顯示圖片的php getimage.php文件,為了看一下效果提前把ID寫入代碼。
5、預(yù)覽網(wǎng)站從數(shù)據(jù)庫中提取了圖片,并顯示到頁面上。
?php
//將圖片存進(jìn)數(shù)據(jù)庫再讀出,注意存儲圖片的字段類型必須為blob
$user=’root’;
$password=’root’;
$db=’test’;
$connect=mysql_connect(‘localhost’,$user,$password);
mysql_set_charset(‘utf8′,$connect);
mysql_select_db($db);
$photo = “0x”.bin2hex(file_get_contents(“./test.jpg”));
$sql=”INSERT INTO `test`.`test` (`photo`) VALUES ($photo);”;//$photo不需要用引號,切記
mysql_query($sql);
//$result=mysql_query(“SELECT *
//FROM `test`
//LIMIT 0 , 30〃);
//$img=mysql_fetch_array($result);
//echo $img['photo'];
?
先用php把數(shù)據(jù)庫中的圖片路徑讀取出來,然后把這個路徑嵌入到img元素的src中,就相當(dāng)于把圖片的路徑轉(zhuǎn)化為圖片了。
存儲的是相對路徑,可以到網(wǎng)站服務(wù)器上查看,應(yīng)該有upload文件夾,里面就是存儲的圖片,這樣寫的好處是節(jié)省了數(shù)據(jù)庫存儲空間,轉(zhuǎn)移的時(shí)候可以直接將整個服務(wù)器的圖片打包轉(zhuǎn)移。
訪問的時(shí)候,前面可以拼接域名和指定的路徑,這些后臺可以輕松獲取到,然后拼接上服務(wù)器的路徑,我們就可以直接在網(wǎng)頁上訪問到圖片了。
這是很常見的圖片數(shù)據(jù)庫保存方式,和直接把圖片的二進(jìn)制存入數(shù)據(jù)庫,這樣的方式便于檢索,占用空間小。當(dāng)然,目前主流都采用oss來單獨(dú)存儲文件了,就是有專門的文件服務(wù)器,這個時(shí)候,一般存儲的是完整的圖片路徑。
foreach($array?as?$k=$v){
$array[$k]['talk_content']=strip_tags($v['talk_content']);
}
或者我一般會這樣寫:
foreach($array?as?$k=$v){
$array[$k]['talk_content2']=strip_tags($v['talk_content']);
}
查詢數(shù)據(jù)庫,取出img路徑的字段,然后將字符串打
散成數(shù)組,去取第數(shù)學(xué)的第一個值。
$att=explode('',$data["img"]);這樣就可以把字符串轉(zhuǎn)
成數(shù)組,在取出第一個$arr[0]