当前位置:首页 » 文件管理 » thinkphp5多图上传

thinkphp5多图上传

发布时间: 2023-06-07 06:05:34

⑴ 请问你有Thinkphp下使用Bootstrap File Input多文件上传的案例吗

现在我们开始使用插件
(1)首先引入文件
<!--css文件-->
<link href="__PUBLIC__/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />

<link href="__PUBLIC__/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">

<!--js文件-->
<script src="__PUBLIC__/js/jQuery.min.js" type="text/javaScript"></script>
<script src="__PUBLIC__/js/bootstrap.min.js?v=3.3.6"></script>
<script src="__PUBLIC__/js/plugins/fileinput.js" type="text/javascript"></script>
<script src="__PUBLIC__/js/fileinput.min.js" type="text/javascript"></script>

(2)初始化控件
<input id="file" name="file_data[]" type="file" multiple data-preview-file-type="any" data-show-caption="true">
data-preview-file-type="any" :设置之后可以上传多个文件
name="file_data[]" :因为要上传多个文件所以要用数组
(3)js初始化控件
$("#file").fileinput({
uploadUrl: "{:U('Admin/Img/imgupload2')}",// 上传路径
uploadAsync: false,//是否异步传输
maxFileCount: 5//最大文件上传数量
}).on('filebatchpreupload', function(event, data, id, index) {

}).on('filebatchuploadsuccess', function(event, data) {//上传成功从服务器端返回的数据(即保存的文件名称)
for(var i=0;i<data.response.length;i++){
alert(data.response[i].flag);
}
});
(4)thinkphp对应的方法
public function imgupload2(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/';// 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$info = $upload->upload(array($_FILES['file_data'])); // 上传文件
$i=0;
if(!$info) {// 上传错误提示错误信息
$a[$i]['flag']="no";
$this->ajaxReturn($a,'JSON');
}else{// 上传成功 获取上传文件信息
foreach($info as $file){
$a[$i]['flag']=$file['savepath'].$file['savename'];
$i++;
}
}
$this->ajaxReturn($a,'JSON');
}

⑵ thinkphp上传多个图片,只能上传一个图片和保存一个数据,什么原因

吧你的表结构 截图看下 不太明白你的第一句
你的那个upload函数不行
thinkphp 自带函数 会遍历所有上传
你每次调用 他都遍历以便 所以你得到的永远是上传最后的一个
随便不明白你的第一句话的意思 但是建议你这样做
先上传所有到一个缓存文件夹
然后移动文件 再存储最后的地址

⑶ 关于thinkphp图片上传问题

<form method="post" action="upload.php" enctype="multipart/form-data">
<input type='file' name='file'>
<input type='submit' value='提交'>
</form>

//引入UploadFile类
import('ORG.Net.UploadFile');
//实例化UploadFile类
$upload = new UploadFile();
//设置文件大小
$upload -> maxSize = 3292200;
//设置文件保存规则唯一
$upload->saveRule = 'uniqid';
//设置上传文件的格式
$upload -> allowExts = array('jpg','png','jpeg');
//保存路径
$upload->savePath ='./Public/Uploads/';
//设置需要生成缩略图,仅对图像文件有效
$upload->thumb = true;
//设置需要生成缩略图的文件前缀
$upload->thumbPrefix = 'm_'; //生产缩略图也可以根据需要生成1张或多张,2张:'m_,s_'
//设置缩略图最大宽度
$upload->thumbMaxWidth = '150';//2张的不同设置:'150,200'
//设置缩略图最大高度
$upload->thumbMaxHeight = '200';
//删除原图
$upload->thumbRemoveOrigin = true;
//上传失败返回错误信息
if(!$upload->upload()){
$this->error($upload->getErrorMsg());
}else{
$this->success('上传成功');
//获取上传文件的信息
$inf= $upload->getUploadFileInfo();
}

⑷ thinkphp 多图上传,如何把图片路径保存到数据库

关于上传文件:

推荐使用插件Uploadify!

使用方法:http://www.uploadify.com/documentation/

下载地址:http://www.uploadify.com/download/


关于多图上传:

  1. 在客户端定义一个js变量,用于缓存每次异步上传图片路径;

  2. 最后提交表达数据的时候就把这些路径集合保存到数据库即可!

⑸ ThinkPHP中图片最多一次上传20张,怎么上传更多图片

$User->fenxiang_fm = 'Uploads/'.$info[0]["savename"]; // 这里的$info[0]["savename"]的下标[0]表示上传的第1个图片按顺序,记住是下标
$User->fenxiang_sc = 'Uploads/'.$info[1]["savename"]; // 这里的$info[1]["savename"]的下标[1]表示上传的第2个图片按顺序,记住是下标

function upload(){

import("ORG.Net.UploadFile");

$upload = new UploadFile();// 实例化上传类

$upload->maxSize = 3145728 ;// 设置附件上传大小

$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->saveRule = time;//这里的时间是根据上传的图片的多少来自动改变图片的名称的(并且时间都不同,所以上传的图片的名称就不会相同)

⑹ thinkPHP3.2.3文件上传类多张图片上传怎么只有第一张图片被上传

可以遍历传过来的FILES数组,然后用循环调用UPLOAD类
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 2000000 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类
$upload->rootPath = ''./Uploads/';
$upload->savePath = date('Y').'/'.date('m').'/'.date('d').'/';
$upload->subName = array('date', 'H');
$upload->saveName = md5(uniqid());
$info = $upload->upload();
if(!$info) { // 上传错误提示
$this->error($upload->getError());
}else{ // 上传成功
return $info;
//$this->success('上传成功!');
}

}
//调用
foreach($_FILES["banner_index"]["size"] as $key=>$val){
if($val>0){
$info=$this->upload(); //判断上传文件大小大于0,调用upload
foreach($info as $v){
echo $v["savepath"].$v["savename"]; }
}
}

⑺ 使用thinkphp做一个上传图片,并且要将图片直接保存到数据库里。感觉现在好没有头绪,不知道如何下手。

图片直接保存到数据库里?图片应该是保存在文件夹里面的吧,然后把图片在文件夹的路径保存在数据库里,这样才对吧?

⑻ thinkphp的框架 怎么能实现图片上传功能和写入数据库,form 这样定义之后 post获取不到img_url值

思路是可以的,那提交数据后image可以获取吗?如果可以,那肯定是填写链接的input有问题,而且你下面的图有两个图片和链接,说明你是点了"点击添加多个图片"那个操作,那个操作之后新建的html一样?如果一样就会有两个'img_url'和'image'input标签,你应该用'img_url[]' 和 'image[]',大概想到这些

热点内容
寒灵之剑脚本 发布:2025-02-07 06:57:12 浏览:118
解压的窗口 发布:2025-02-07 06:44:34 浏览:797
android身份证 发布:2025-02-07 06:36:43 浏览:430
python的库在哪 发布:2025-02-07 06:30:24 浏览:348
带锁的铅笔如何改密码 发布:2025-02-07 06:18:05 浏览:164
ubuntu搭建samba服务器 发布:2025-02-07 05:52:54 浏览:54
小型企业网如何配置可以互通 发布:2025-02-07 05:33:56 浏览:243
09年crv哪个配置好 发布:2025-02-07 05:17:31 浏览:555
nvm源码编译 发布:2025-02-07 05:13:19 浏览:126
防伪码查询源码 发布:2025-02-07 05:09:39 浏览:770