PHP腳本上傳圖像并寫入MySQL
網(wǎng)站所有者使用PHP和MySQL數(shù)據(jù)庫(kù)管理軟件來增強(qiáng)其網(wǎng)站功能。即使您想允許網(wǎng)站訪問者將圖像上傳到web服務(wù)器,您也可能不想通過將所有圖像直接保存到數(shù)據(jù)庫(kù)來隱藏?cái)?shù)據(jù)庫(kù)。相反,將圖像保存到服務(wù)器并在保存的文件的數(shù)據(jù)庫(kù)中保存一個(gè)記錄,以便您可以在需要時(shí)引用圖像。
01
04
創(chuàng)建數(shù)據(jù)庫(kù)
首先,使用以下語(yǔ)法創(chuàng)建數(shù)據(jù)庫(kù):
此SQL代碼示例創(chuàng)建一個(gè)名為訪客的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)可以保存姓名,電子郵件地址,電話號(hào)碼和照片名稱。
02
of 04
創(chuàng)建一個(gè)表單
這是一個(gè)HTML表單,您可以用來收集要添加到數(shù)據(jù)庫(kù)的信息。如果需要,可以添加更多字段,但'd還需要將適當(dāng)?shù)淖侄翁砑拥組ySQL數(shù)據(jù)庫(kù)。
action="add.php"方法=&&\#34;POST&\\35; 34;
姓名:&&
照片:<輸入類型="文件"名稱="照片">
<輸入類型="提交"值="添加"><&form>
03
69 of 04 70處理數(shù)據(jù)
要處理數(shù)據(jù),請(qǐng)將以下所有代碼保存為add.php?;旧?,它從表單中收集信息,然后將其寫入數(shù)據(jù)庫(kù)。完成后環(huán)保小知識(shí)資料,它會(huì)將文件保存到服務(wù)器上的/images目錄(相對(duì)于腳本)。這是必要的y代碼以及對(duì)正在發(fā)生的事情的解釋。
指定使用此代碼保存圖像的目錄:
$目標(biāo)="圖像/";
$目標(biāo)=$目標(biāo)。basename($_文件['照片']['名稱']);
然后從表格中檢索所有其他信息:
$$$$$$$$$$$U POST[&&\#35; 39;];
$電子郵件=$Upost[&\35; 39;電子郵件\#39;;
$$$$$$$$$$$$$$$POST[&\35; 39;39;name'39;];$$$$$$$$$$$$\#\35; 39;];
$$$$電子郵件=$$\35; 39;39;39;];;;這是一個(gè)很好的例子接下來,將連接到您的數(shù)據(jù)庫(kù):
mysql連接("your.hostaddress.com",#34;用戶名","密碼")或die(mysql Uerror());
mysql USelectdb("數(shù)據(jù)庫(kù)Name#34;)或die(mysqlerror());這將信息寫入數(shù)據(jù)庫(kù):
mysql#query("插入'訪問者'值('$名稱','$電子郵件','$電話','$pic')");這將照片寫入服務(wù)器104
if(移動(dòng)U上傳文件($U文件['照片']['tmp名稱'],$目標(biāo)))
{這個(gè)代碼告訴你是否一切正常。
echo"文件"。basename($_FILES['uploadedfile']
['name'])。"已上傳,您的信息已添加到目錄";
}
其他{
echo"抱歉,上傳有問題您的文件。";
}
?>如果您僅允許照片上傳,請(qǐng)考慮將允許的文件類型限制為JPG,GIF和PNG。這個(gè)腳本不檢查文件是否已經(jīng)存在,所以如果兩個(gè)人都上傳一個(gè)名為MyPic.gif,一個(gè)覆蓋另一個(gè)。解決此問題的一種簡(jiǎn)單方法是使用**ID重命名每個(gè)傳入圖像。
04
143 of 04 144查看數(shù)據(jù)
要查看數(shù)據(jù),請(qǐng)使用這樣的腳本查詢數(shù)據(jù)庫(kù)并檢索其中的所有信息。它會(huì)回響,直到顯示所有數(shù)據(jù)為止。
mysql?connect("your.hostaddress.com",&\35;#34;用戶名#35; 35;##34;)或die(mysql_錯(cuò)誤());
mysql選擇_db(&35;#34;;;;;;;;;;;;;\#35; 34;;;;;;;;\##34;;;;;;;\#####35; 34;;;;;;;;;;;;;;;;;;;;;;;;;\\($data)){
Echo"
";Echo"Name:<&b>"$info['Name']。"
";Echo"Email:<&b>"$info['Email']。"
";Echo"電話:<&b>"$info['電話']。"
";}?>要顯示圖像,請(qǐng)對(duì)圖像使用普通HTML,并且僅使用存儲(chǔ)在數(shù)據(jù)庫(kù)中的圖像名稱更改實(shí)際圖像名稱的最后一部分。有關(guān)從數(shù)據(jù)庫(kù)中檢索信息的更多信息,請(qǐng)參閱PHP MySQL教程。