ThinkPHP5&5.1下WebUploader多图上传工具Demo

网上关于多图上传实时显示的插件比较多,但免费的不好用,好用的不免费,有的兼容性不好,有的已经不再维护很多年,这里介绍一个百度出的多图上传插件——webuploader(http://fex.baidu.com/webuploader/),首页的快速开始就给出了一个简单的使用方法,但过于简单,没有样式;而它的Demo既没有给出代码,而且也没有实现功能,后来发现这个Demo的源码放到了GitHub上,我们只需要下载下来,结合ThinkPHP5&5.1进行改进就可以了。

使用ThinkPHP5.1版本进行讲解,(当然你使用一个空白的项目也可以实现)。

首先是去GitHubhttps://github.com/fex-team/webuploader上进行下载,由于访问速度慢,可以加群拿:709980164;解压后放到public里面。其中我把解压缩后的文件夹改名为webuploader,放到了public/static/index文件夹下,这块比较简单,就不给大家截图了。

在你想测试的控制器中建立一个方法,我这里是在index模块member控制器下建立了一个名为webuploader()的方法。

public function webuploader()
{
    return view();
}

将你放到public下的webuploader文件夹中的examples/imageupload/index.html复制到在对应的视图文件夹下面(本例为application/index/view/member),并重命名为webuploader.html。

将其中的css和js文件路径进行替换,(ThinkPHP5.1已经不再默认任何的__替换,需要自己进行书写)。

<link rel="stylesheet" type="text/css" href="__INDEX__/webuploader/css/webuploader.css" />
<link rel="stylesheet" type="text/css" href="__INDEX__/webuploader/examples/imageupload/style.css" />
<script type="text/javascript" src="__INDEX__/static/js/jquery.js"></script>
<script type="text/javascript" src="__INDEX__/webuploader/dist/webuploader.js"></script>
<script type="text/javascript" src="__INDEX__/webuploader/examples/imageupload/upload.js"></script>

其中为了提高网站效率,如果你的页面已经引入了jquery文件,那么你就可以不再引入webuploader提供的jquery文件,当然如果两个jquery版本相差过大有可能出问题。在这里__INDEX__是我自己定义的模板替换路径,写在ThinkPHP5或5.1中找到相应的配置文件。

'tpl_replace_string'    =>  [
        '__ADMIN__' =>  '/xkershouche/public/static/admin',
        '__UPLOADS__' =>  '/xkershouche/uploads',
        '__INDEX__' =>  '/xkershouche/public/static/index',
    ]

找到webuploader/examples/imageupload/upload.js文件,在第154行,或者搜索server,将后台地址改为你想要的地址,我的改成了’carsuploads’,注意经过我多次试验,'{:url(“”)}’助手函数不会被解析,这里不能使用。

在Member控制器下写一个carsuploads方法,将ThinkPHP5&5.1文档中关于图片上传的代码写进去,将请求的名称改成file。

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

具体上传到那个文件夹、上传大小类型后缀的验证、文件的命名规则等,根据自己需要进行书写。注意这里虽然是多图上传,但上传时候的循环已经被插件封装好了,不需要我们使用多图上传中的循环方式进行上传。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值