日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php微信小程序多图上传,tp5实现微信小程序多图片上传到服务器功能

發布時間:2023/12/10 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php微信小程序多图上传,tp5实现微信小程序多图片上传到服务器功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做一個教育類的小商城的微信小程序,用到了上傳多個圖片文件到服務器端,這里做一個講解,希望對大家有所幫助。

1,小程序端:

在wxml文件中:

刪除

點擊上傳作業

在js文件中:

Page({

/**

* 頁面的初始數據

*/

data: {

index: 0,

multiIndex: [0, 0],

//傳到后臺的課程分類

cname:'',

},

/**

* 生命周期函數--監聽頁面加載

*/

onLoad: function (options) {

},

/**

*

* 生命周期函數--監聽頁面初次渲染完成

*/

onReady: function () {

},

/**

* 生命周期函數--監聽頁面顯示

*/

onShow: function () {

},

/**

* 生命周期函數--監聽頁面隱藏

*/

onHide: function () {

},

/**

* 生命周期函數--監聽頁面卸載

*/

onUnload: function () {

},

/**

* 頁面相關事件處理函數--監聽用戶下拉動作

*/

onPullDownRefresh: function () {

},

/**

* 頁面上拉觸底事件的處理函數

*/

onReachBottom: function () {

},

/**

* 用戶點擊右上角分享

*/

onShareAppMessage: function () {

},

// 上傳圖片操作

// 上傳圖片

chooseImg: function (e) {

var that = this;

if(that.data.cname==''){

}else{

var imgs = this.data.imgs;

if (imgs.length >= 9) {

this.setData({

lenMore: 1

});

setTimeout(function () {

that.setData({

lenMore: 0

});

}, 2500);

return false;

}

wx.chooseImage({

// count: 1, // 默認9

sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有

sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有

success: function (res) {

// 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片

var tempFilePaths = res.tempFilePaths;

var imgs = that.data.imgs;

// console.log(tempFilePaths + '----');

for (var i = 0; i < tempFilePaths.length; i++) {

if (imgs.length >= 9) {

that.setData({

imgs: imgs

});

return false;

} else {

imgs.push(tempFilePaths[i]);

}

}

// console.log(imgs);

that.setData({

imgs: imgs,

});

//循環把圖片上傳到服務器

for (var i = 0; i < imgs.length; i++) {

wx.uploadFile({

url: url + 'Wx_SaveHomeWork',

filePath: imgs[i],

name: 'files',

formData: {

cname: that.data.cname

},

success: function (res) {

console.log(res)

}

})

}

}

});

}

},

// 刪除圖片

deleteImg: function (e) {

var imgs = this.data.imgs;

var index = e.currentTarget.dataset.index;

imgs.splice(index, 1);

this.setData({

imgs: imgs

});

},

// 預覽圖片

previewImg: function (e) {

//獲取當前圖片的下標

var index = e.currentTarget.dataset.index;

//所有圖片

var imgs = this.data.imgs;

wx.previewImage({

//當前顯示圖片

current: imgs[index],

//所有圖片

urls: imgs

})

},

})

2,我們注意到我的wx.request請求中Wx_SaveHomeWork方法是后臺服務器的接收圖片方法,

后邊我會把這個方法展示出來,

3.tp5后臺controller中:

//存取學生作業信息

public function Wx_SaveHomeWork(){

$files=\request()->file('files');

$cname=\request()->param('cname');

$cid=Db::name('course')->where('cname',$cname)->value('id');

$max_id=Db::name('homework')->max('id');

foreach($files as $item){

// 移動到框架應用根目錄/public/uploads/ 目錄下

$info = $files->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads');

if($info){

$saveName=str_replace("\\","/",$info->getSaveName());

$img='/uploads/'.$saveName;

$homework[]=['id'=>$max_id+1,'img'=>$img,'cid'=>$cid];

}

}

//把數據插入到作業表中

\db('homework')->insertAll($homework);

}

這里說一下,max_id的作用,因為接受的是多張圖片,相當于一次性要存儲多條數據,所以用max_id對id進行自增,存儲到數據庫表,cid是我自己數據庫邏輯需要用到的變量,可以不用考慮,

4.講解的不夠清楚,因為是自己寫的,感受不到難點在哪里,我自己的難點是在小程序端的圖片上傳,用了for循環,循環上傳的方法,其他的相對來說,邏輯比較簡單。

總結

以上所述是小編給大家介紹的tp5實現微信小程序多圖片上傳到服務器功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

總結

以上是生活随笔為你收集整理的php微信小程序多图上传,tp5实现微信小程序多图片上传到服务器功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。