在做項(xiàng)目中可能會(huì)遇到用戶上傳文件或者圖片的問題,這里我使用layui.js,它主要使用起來(lái)非常的簡(jiǎn)單和方便,使用前需要去到layer官網(wǎng)去下載相關(guān)的js,下載地址layui官網(wǎng).官網(wǎng)的示例如果有跟你需求差不多,可以直接拿過來(lái)用,有些不同的可以修改參數(shù)來(lái)配合實(shí)現(xiàn)你的需求,我來(lái)講一講我使用的過程和遇見的問題。
前端通過layui文件上傳控件把上傳的文件上傳的后臺(tái),通過ThinkPHP框架的的上傳方法實(shí)現(xiàn)上傳文件,因?yàn)槲仪岸说臉邮揭呀?jīng)寫好了所以使用的是id綁定上傳控件。
inputclass=r-filetype=filename=file_urlid=j_upload
加載js和css
inkrel=stylesheethref=./layui/css/layui.cssmedia=allscriptsrc=./layui/layui.jscharset=utf-8/scriptJs調(diào)用綁定上傳控件的id,默認(rèn)的是post方式提交到后臺(tái)。后臺(tái)需要接收數(shù)據(jù)的參數(shù)一定要是你控件的name命名,這里input的name是file_url所以后臺(tái)接收是使用$_FILES[file_url],在tp里要使用$_FILES去獲取文件信息,然后實(shí)例化框架的上傳類,這里把文件保存到緩存臨時(shí)文件夾里面,返回上傳的文件信息到前端,實(shí)現(xiàn)前端的文件回顯和一下響應(yīng)事件,我這里比較簡(jiǎn)單只完成了回顯,
inputtype=hiddenclass=rinputid=file_urlsname=file_urlsvalue=
inputtype=hiddenclass=rinputid=file_namename=file_namevalue=
inputtype=hiddenclass=rinputid=file_idname=file_idvalue=0
我使用了隱藏標(biāo)簽去保存文件的信息,等待用戶提交后,在提交方法里判斷數(shù)據(jù)和實(shí)現(xiàn)文件的轉(zhuǎn)移我這里用php的rename()函數(shù)來(lái)轉(zhuǎn)移文件