layui表单加文件 php_layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例...
本文實例講述了layui框架實現文件上傳及TP3.2.3對上傳文件進行后臺處理操作。分享給大家供大家參考,具體如下:
layui框架是1.0.9版本。。
首先html頁面代碼如下:
js代碼如下:
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);
}
});
});
接下來的php后臺接值的方法:
#上傳文件方法
public function upload(){
$res=array(
'code'=>1,
'msg'=>'no sorry',
'data'=>array(
'src'=>'',
)
);
#圖片存放路徑
$directory = C('UPLOAD_PATH')."/Public/docment/";
#判斷目錄是否存在 不存在則創建
if(!(is_dir($directory))){
$this->directory($directory);
}
#獲取數據庫最后一條id 當做文件名稱
$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;
}
/**
* 遞歸創建文件
* @author erwa
*/
public function directory($dir){
return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);
}
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
總結
以上是生活随笔為你收集整理的layui表单加文件 php_layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钱庄和银行的区别
- 下一篇: 货币基金和存款一样安全吗 两种不同的理