插入圖片和一般的數(shù)據(jù)沒什么不同的,一般數(shù)據(jù)會(huì)了,傳圖片時(shí)候就用個(gè)move_uploaded_file改變下參數(shù),主要是做這個(gè)的時(shí)候不要有負(fù)擔(dān)
創(chuàng)新互聯(lián)公司主營商水網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,商水h5小程序定制開發(fā)搭建,商水網(wǎng)站營銷推廣歡迎商水等地區(qū)企業(yè)咨詢
以下供參考
?
function upload_file($files,$folder)//上傳圖片
{
$file_tyle = $files['type'];
$file_type_arr = array('image/gif','image/x-png','image/jpg','image/pjpeg');
if(!in_array($file_tyle,$file_type_arr) )
{
exit('file type only can be: png,jpeg,jpg,gif');
}
$knamearray = explode(".",$files["name"]);
$kname = $knamearray[count($knamearray)-1];
$rand_str = date("ymdhis");
$file_name = $rand_str.".".$kname;
$savepath = "$folder/";
/*$savepath = "$folder/date_".date('YmdHis')."/";
if( !is_dir($savepath) ) mkdir($savepath);*/
$upfile = $savepath.$file_name;
if( !move_uploaded_file($files['tmp_name'],$upfile) )
{
exit('upload error, please check your file type: png,jpeg,jpg,gif');
}
return $file_name;//不要回傳值此行可注釋掉
}
?
兩種方法:
一:將圖片上傳至指定目錄,在數(shù)據(jù)庫中保存文件名和文件路徑。
二:將圖片文件讀入字符串,將字符串保存到數(shù)據(jù)庫,不推薦(沒那么長(zhǎng)的字段長(zhǎng)度支持)。
存儲(chǔ)的是相對(duì)路徑,可以到網(wǎng)站服務(wù)器上查看,應(yīng)該有upload文件夾,里面就是存儲(chǔ)的圖片,這樣寫的好處是節(jié)省了數(shù)據(jù)庫存儲(chǔ)空間,轉(zhuǎn)移的時(shí)候可以直接將整個(gè)服務(wù)器的圖片打包轉(zhuǎn)移。
訪問的時(shí)候,前面可以拼接域名和指定的路徑,這些后臺(tái)可以輕松獲取到,然后拼接上服務(wù)器的路徑,我們就可以直接在網(wǎng)頁上訪問到圖片了。
這是很常見的圖片數(shù)據(jù)庫保存方式,和直接把圖片的二進(jìn)制存入數(shù)據(jù)庫,這樣的方式便于檢索,占用空間小。當(dāng)然,目前主流都采用oss來單獨(dú)存儲(chǔ)文件了,就是有專門的文件服務(wù)器,這個(gè)時(shí)候,一般存儲(chǔ)的是完整的圖片路徑。