首先要創建一個SQL表 將到時候上傳的圖片保存到數據庫中
其中的img字段存放的就是我們上傳的圖片URL(其他的不重要)
靜態頁面選擇圖片的html
<div class="control-group span3">
<label class="control-label">選擇圖片<span class="required"></span></label>
<div class="controls">
<input type="file" multiple="multiple" id="dangan_img_e" name="dangan_img_e[]">
</div>
</div>
js文件中邏輯代碼實現 ->必須是拿到整個表單的所有數據
submitHandler: function (form) {
var url=$('#form_dangan_add').attr('name');
var formData = new FormData($('#form_dangan_add')[0]);
$.ajax({
url:url,
type:'POST',
data:formData,
dataType:'json',
async: false,
cache: false,
contentType: false,
processData: false,
success: function(msg){
if(msg.state!='error'){
alert(msg.info);
location.reload();
}else{
alert(msg.info);
}
}
});
Conteroller層的實現:
if($_FILES['dangan_img_e']['error'][0]!=4){ //其中的dangan_img_e 是靜態頁面選擇圖片的html id值
// 實例化上傳類
$upload = new \Think\Upload();
// 設置附件上傳大小
$upload->maxSize = 104857600 ;
// 設置附件上傳類型
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
// 設置附件上傳根目錄
$upload->rootPath = 'Public/data/suggestimg/';
$info=array();
foreach ($_FILES['dangan_img_e']['name'] as $key=>$value){
$file1=array();
$file1["dangan_img_e"]['name']=$value;
$file1["dangan_img_e"]['type']=$_FILES['dangan_img_e']["type"][$key];
$file1["dangan_img_e"]['tmp_name']=$_FILES['dangan_img_e']["tmp_name"][$key];
$file1["dangan_img_e"]['error']=$_FILES['dangan_img_e']["error"][$key];
$file1["dangan_img_e"]['size']=$_FILES['dangan_img_e']["size"][$key];
$info[]=$upload->upload($file1);
}
if(!$info) {
$this->ajaxReturn(array(
'state'=>'error',
'info' => $upload->getError()
));
}else{
// 上傳成功 獲取上傳文件信息
$arr=array();
foreach($info as $file){
$arr[]='data/suggestimg/'.$file['dangan_img_e']['savepath'].$file['dangan_img_e']['savename'];
}
$num = count($arr);
for ($i=0; $i<$num; $i++){
if($i==0){
$data['img'] = $arr[$i];
}
}
}
}
當我們完成以上的功能時 就可以將我們的圖片保存到我們指定的文件夾中 ->
data/suggestimg/'.$file['dangan_img_e']['savepath'].$file['dangan_img_e']['savename'];
這時候我們可以看一下我們的數據庫表以及我們圖片上傳到的文件夾:
從圖中可以看到我們已經成功將圖片保存到了指定的文件中,並將路徑存放到了我們的數據庫中
接下來我們來實現如何顯示出來:
$httpstr="你的網址/Public/";
if(!empty($value['img'])){
$value['img']=$httpstr.$value['img'];
}
歐克,以上我們就可以實現圖片的上傳以及顯示