layui框架實(shí)現(xiàn)文件上傳及TP3.2.3(thinkPHP)對上傳文件進(jìn)行后臺處理操作示例
本文實(shí)例講述了layui框架實(shí)現(xiàn)文件上傳及TP3.2.3對上傳文件進(jìn)行后臺處理操作。分享給大家供大家參考,具體如下:
layui框架是1.0.9版本。。
首先html頁面代碼如下:
<div class="layui-form-item" id="upload_file">
<div class="layui-input-block" style="width: 300px;">
<input type="hidden" id="img_url1" name="HeadImageUrl" value=""/>
<div class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1">
<div class="layui-col-xs12 layui-col-md12">
<img class="layui-upload-img" id="demo1" >
</div>
<div class="button-hide">
<input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file" lay-type="file">
</div>
</div>
</div>
</div>
js代碼如下:
<script type="text/javascript" th:inline="javascript">
layui.use('upload', function (){
var upload = layui.upload;
var url="__PUBLIC__";
upload({
elem: '#banner_file_upload',
url: "/index.php/Admin/Product/upload",
method: 'post',
before: function(obj){
console.log('文件上傳中');
layer.load();
},
success: function (msg) {
console.log(msg);
if(msg.msg=="success"){
layer.closeAll('loading');
layer.msg("上傳成功");
$("#img_url1").attr("value", msg.src);
}else if(msg.msg=="error"){
layer.closeAll('loading');
layer.msg(msg.code);
}
},
error:function (data) {
layer.msg("上傳失敗");
console.log(data);
}
});
});
</script>
接下來的php后臺接值的方法:
#上傳文件方法
public function upload(){
$res=array(
'code'=>1,
'msg'=>'no sorry',
'data'=>array(
'src'=>'',
)
);
#圖片存放路徑
$directory = C('UPLOAD_PATH')."/Public/docment/";
#判斷目錄是否存在 不存在則創(chuàng)建
if(!(is_dir($directory))){
$this->directory($directory);
}
#獲取數(shù)據(jù)庫最后一條id 當(dāng)做文件名稱
$product_last_id=D('ApiProduct')->getLastId();
$savename="ApiProduct_".time().'_'.($product_last_id['id']+1);
$upload = new \Think\Upload();
$upload->maxSize = 0;
$upload->exts = array('doc','docx','xls','xlsx','pdf','txt');
$upload->rootPath = $directory;
$upload->saveName="$savename";
$upload->savePath = '';
$info = $upload->uploadOne($_FILES['banner_file_upload']);
if(!$info){
$res['code']=$upload->getError();
$res['msg']='error';
}else{
$res['code']=0;
$res['msg']='success';
$res['src']="/Public/docment/".$savename.".".$info['ext'];
}
echo json_encode($res);die;
}
/**
* 遞歸創(chuàng)建文件
* @author erwa<erwa@qingjinju.net>
*/
public function directory($dir){
return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);
}
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充
最近在學(xué)習(xí)Laravel數(shù)據(jù)庫方面的內(nèi)容,發(fā)現(xiàn)了一些資料不錯(cuò)整理出來分享給大家,下面這篇文章主要給大家介紹了關(guān)于Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文填充的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-11-11
PHP圖像識別技術(shù)原理與實(shí)現(xiàn)
本篇文章主要介紹了PHP圖像識別技術(shù)原理與實(shí)現(xiàn),這個(gè)平時(shí)做的密碼驗(yàn)證有異曲同工之處,有需要的可以了解一下。2016-10-10
Thinkphp模板標(biāo)簽if和eq的區(qū)別和比較實(shí)例分析
這篇文章主要介紹了Thinkphp模板標(biāo)簽if和eq的區(qū)別和比較,實(shí)例分析了Thinkphp模板標(biāo)簽if和eq用于變量比較的區(qū)別,需要的朋友可以參考下2015-07-07
Smarty模板變量與調(diào)節(jié)器實(shí)例詳解
這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實(shí)例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-07-07
thinkPHP模板算術(shù)運(yùn)算相關(guān)函數(shù)用法分析
這篇文章主要介紹了thinkPHP模板算術(shù)運(yùn)算相關(guān)函數(shù)用法,結(jié)合簡單實(shí)例形式分析了thinkPHP關(guān)于算數(shù)運(yùn)算與參數(shù)傳遞的相關(guān)技巧,需要的朋友可以參考下2016-07-07

