?php
只為您設(shè)計(jì)更接底氣、較有營(yíng)銷力的好網(wǎng)站,將營(yíng)銷策劃與網(wǎng)頁(yè)設(shè)計(jì)互相結(jié)合的專業(yè)機(jī)構(gòu),全網(wǎng)營(yíng)銷推廣公司中較早掌握H5場(chǎng)景定制技術(shù)的機(jī)構(gòu)。一個(gè)好的品牌網(wǎng)站制作,不能只是一張名片,茫茫網(wǎng)海,想要快速吸引到您客戶的眼球,必須全方位的展現(xiàn)出企業(yè)突出的優(yōu)勢(shì),以求達(dá)到主動(dòng)營(yíng)銷的效果,最終促成成交!
$type=$_FILES['filephoto']['type'];
if($type=='image/gif'|| $type=='image/jpeg'||$type=='image/pjpeg')
{
if($_FILES['filephoto']['size']2*1024*1024)
{
$aa=substr($_FILES['filephoto']['name'],strpos($_FILES['filephoto']['name'],'.'));//圖片類型名 如 .png
$photo=date("yndhis").rand(10000,99999).$aa;//圖片名字
move_uploaded_file( $_FILES['filephoto']['tmp_name'] , 'photo/'.$photo );//上傳指定文件夾
}//$image=文件夾名/圖片名 添加數(shù)據(jù)庫(kù)
}
?
1.圖片轉(zhuǎn)換 將上傳的圖片讀取到一個(gè)字符串中,再用base64對(duì)數(shù)據(jù)進(jìn)行編碼 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...
2.顯示圖片 imgsrc="{$base64String}" 這樣就能把圖片顯示出來(lái)了
php實(shí)現(xiàn)上傳圖片保存到數(shù)據(jù)庫(kù)的方法。具體分析如下:
php 上傳圖片,一般都使用move_uploaded_file方法保存在服務(wù)器上。但如果一個(gè)網(wǎng)站有多臺(tái)服務(wù)器,就需要把圖片發(fā)布到所有的服務(wù)器上才能正常使用(使用圖片服務(wù)器的除外)
如果把圖片數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,多臺(tái)服務(wù)器間可以實(shí)現(xiàn)文件共享,節(jié)省空間。
首先圖片文件是二進(jìn)制數(shù)據(jù),所以需要把二進(jìn)制數(shù)據(jù)保存在mysql數(shù)據(jù)庫(kù)。
mysql數(shù)據(jù)庫(kù)提供了BLOB類型用于存儲(chǔ)大量數(shù)據(jù),BLOB是一個(gè)二進(jìn)制對(duì)象,能容納不同大小的數(shù)據(jù)。
BLOB類型有以下四種,除存儲(chǔ)的最大信息量不同外,其他都是一樣的。可根據(jù)需要使用不同的類型。
TinyBlob?????? 最大 255B
Blob????????????? 最大 65K
MediumBlob? 最大 16M
LongBlob????? 最大 4G
數(shù)據(jù)表photo,用于保存圖片數(shù)據(jù),結(jié)構(gòu)如下:
CREATE?TABLE?`photo`?(??
`id`?int(10)?unsigned?NOT?NULL?auto_increment,??
`type`?varchar(100)?NOT?NULL,??
`binarydata`?mediumblob?NOT?NULL,??
PRIMARY?KEY??(`id`)??
)?ENGINE=MyISAM?DEFAULT?CHARSET=latin1?AUTO_INCREMENT=1?;
upload_image_todb.php代碼如下:
?php??
//?連接數(shù)據(jù)庫(kù)??
$conn=@mysql_connect("localhost","root","")??or?die(mysql_error());??
@mysql_select_db('demo',$conn)?or?die(mysql_error());?//?判斷action??
$action?=?isset($_REQUEST['action'])??$_REQUEST['action']?:?'';?
//?上傳圖片??
if($action=='add'){??
$image?=?mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));??
$type?=?$_FILES['photo']['type'];??
$sqlstr?=?"insert?into?photo(type,binarydata)?values('".$type."','".$image."')";??
@mysql_query($sqlstr)?or?die(mysql_error());??
header('location:upload_image_todb.php');??
exit();??
//?顯示圖片??
}elseif($action=='show'){??
$id?=?isset($_GET['id'])??intval($_GET['id'])?:?0;??
$sqlstr?=?"select?*?from?photo?where?id=$id";??
$query?=?mysql_query($sqlstr)?or?die(mysql_error());??
$thread?=?mysql_fetch_assoc($query);??
if($thread){??
header('content-type:'.$thread['type']);??
echo?$thread['binarydata'];??
exit();??
}??
}else{??
//?顯示圖片列表及上傳表單??
???
!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?""??
html??
head??
meta?http-equiv="content-type"?content="text/html;?charset=utf-8"??
title?upload?image?to?db?demo?/title??
/head??
body??
form?name="form1"?method="post"?action="upload_image_todb.php"?enctype="multipart/form-data"??
p圖片:input?type="file"?name="photo"/p??
pinput?type="hidden"?name="action"?value="add"input?type="submit"?name="b1"?value="提交"/p??
/form??
?php??
$sqlstr?=?"select?*?from?photo?order?by?id?desc";??
$query?=?mysql_query($sqlstr)?or?die(mysql_error());??
$result?=?array();??
while($thread=mysql_fetch_assoc($query)){??
$result[]?=?$thread;??
}??
foreach($result?as?$val){??
echo?'pimg?
src="upload_image_todb.php?action=showid='.$val['id'].'t='.time().'"
width="150"/p';??
}??
???
/body??
/html??
?php??
}??
?
程序運(yùn)行截圖和數(shù)據(jù)庫(kù)截圖:
只能告訴你思路,思路一說(shuō)估計(jì)你就會(huì)了,
首先你要有數(shù)據(jù)表去存圖片,
其次你要回php的文件上傳,當(dāng)文件上傳成功后你把上傳的圖片存到你的服務(wù)器上面具體位置也是你自己定的,這樣你就可以把你上傳上來(lái)的圖片所放置的位置存到數(shù)據(jù)庫(kù)就好了。
一般來(lái)說(shuō),圖片不會(huì)存入數(shù)據(jù)庫(kù)的,圖片都是上傳到服務(wù)器里的一個(gè)路徑下,數(shù)據(jù)庫(kù)的字段欄位只記錄這張對(duì)應(yīng)圖片的路徑,圖片顯示是在讀取數(shù)據(jù)庫(kù)的內(nèi)容,并顯示字段記錄對(duì)應(yīng)的URL。
關(guān)于上傳文件:
推薦使用插件Uploadify!
使用方法:
下載地址:
關(guān)于多圖上傳:
在客戶端定義一個(gè)js變量,用于緩存每次異步上傳圖片路徑;
最后提交表達(dá)數(shù)據(jù)的時(shí)候就把這些路徑集合保存到數(shù)據(jù)庫(kù)即可!
本文名稱:php圖片路徑存入數(shù)據(jù)庫(kù) php讀取圖片并輸出
文章源于:http://m.rwnh.cn/article34/doojhse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、服務(wù)器托管、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容