兩種方法:
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、定日網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為定日等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
一:將圖片上傳至指定目錄,在數(shù)據(jù)庫(kù)中保存文件名和文件路徑。
二:將圖片文件讀入字符串,將字符串保存到數(shù)據(jù)庫(kù),不推薦(沒(méi)那么長(zhǎng)的字段長(zhǎng)度支持)。
?php
//var_dump($_FILES);
for($i=1;$i3;$i++){
//判斷文件上傳是否出錯(cuò)
if($_FILES["myfile$i"]["error"]0){
switch($_FILES["myfile$i"]["error"]){
case 1; echo"文件過(guò)大(大于php.ini 配置文件的限制)";break;
case 2; echo"文件超出了html表單Max_FILE_size選項(xiàng)所指定得值";break;
case 3; echo"文件只被部分上傳";break;
case 4; echo"沒(méi)有上載任何文件";break;
}
die;
}
//判斷文件類(lèi)型
if(!in_array($_FILES["myfile$i"]["type"],array("image/jpeg","image/png","image/gif"))){
echo"文件類(lèi)型不合法!(只能上傳jpg,gif,png格式圖片)" ;
continue;
die;
}
$dir = dirname(__FILE__)."/uploaded/";
$filename= $_FILES["myfile$i"]["name"];
if(is_uploaded_file($_FILES["myfile$i"]["tmp_name"])){
if(move_uploaded_file( $_FILES["myfile$i"]["tmp_name"],$dir.$filename)){
echo "文件上傳成功br" ;
file_put_contents("./data.txt"," img src='".date("Y-m-d")."/".$filename."'width=200\n",FILE_APPEND);
}else{
echo "文件移動(dòng)失敗" ;
}
}else{
echo "文件不合法(非http post方式上傳的文件)" ;
}
}
$link = mysql_connect ("127.0.0.1","root","root") or die("連接數(shù)據(jù)庫(kù)失敗!");
//選擇庫(kù)
mysql_select_db("123");
//設(shè)置編碼
mysql_query("set names utf8");
//是否寫(xiě)入到數(shù)據(jù)庫(kù)
if(mysql_query("insert into chuan(mysql1,mysql2) values('".$_FILES["myfile$i"]["name"]."','".$filename."')")){
echo "文件上傳成功br";
//顯示圖片
$str= file_get_contents("./data.txt");
$img_arr = explode("\n",$str);
foreach($img_arr as $img){
echo $img."br";
}
?
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)了
把圖片保存到服務(wù)器,拼接圖片地址
保存圖片地址到數(shù)據(jù)庫(kù)
讀取圖片地址就能訪問(wèn)到圖片了。
原理都一樣,循環(huán)接參,你打印一下它的參數(shù)就夠就明白了,存儲(chǔ)數(shù)據(jù)庫(kù),可以將圖片路徑之間用|或者逗號(hào),或者json 系列化來(lái)存儲(chǔ):
?php
print_r($_FILES);//你可以打印一下它,看看它的結(jié)構(gòu)
if(!empty($_FILES)){
foreach($_FILES['file']['name']?as?$k=$v){
?//$_FILES["file"]都變成$_FILES["file"][$k]操作進(jìn)行操作吧
?if?($_FILES['file'][$k]['error']?==?0)?{
$filetype?=?array("jpg","JPG");
$arr?=?explode(".",?$_FILES["file"][$k]["name"]);
...//同樣的代碼
?}
}
}
?
form?name=""?action=""?method="post"?enctype="multipart/form-data"
input?type="file"?name="file[]"?/br?/
input?type="file"?name="file[]"?/br?/
input?type="file"?name="file[]"?/br?/
input?type="file"?name="file[]"?/br?/
input?type="file"?name="file[]"?/br?/
input?type="file"?name="file[]"?/br?/
input?type="submit"?name="a"?value="提交"?/
/form
1首先最好不要把圖片存數(shù)據(jù)表。除非是做為資料保存。有些教材與網(wǎng)上的代碼的處理方式太老了,不要再模仿。當(dāng)然你的代碼中沒(méi)有看出來(lái)是用什么方式存儲(chǔ)圖片的。
2如果你是想把圖片存到數(shù)據(jù)表中,你的$file實(shí)際上只是文件名。應(yīng)該讀圖片的流數(shù)據(jù)寫(xiě)到表中。
3如果你僅是存文件名到數(shù)據(jù)表,圖片在指定文件夾中存放,則應(yīng)該是出在路徑上。
標(biāo)題名稱(chēng):php上傳圖片寫(xiě)入數(shù)據(jù)庫(kù),php上傳圖片寫(xiě)入數(shù)據(jù)庫(kù)錯(cuò)誤
文章起源:http://vcdvsql.cn/article46/hssseg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、App開(kāi)發(fā)、、云服務(wù)器、網(wǎng)站策劃
聲明:本網(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)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)