thinkCMF上传图片

1、要使用这个功能,首先要引入框架自带的admin.js或者frontend.js文件

再上传的地方添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//单张上传
<input type="hidden" name="thumb" id="thumbnail" value="{$check.thumb|default=''}">
<a href="javascript:uploadOneImage('图片上传','#thumbnail');">
<img src="{:cmf_get_image_preview_url($check.thumb)}"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</a>
//多张上传
<ul id="photos_trade" class="pic-list list-unstyled form-inline">
<li> <a href="{:cmf_get_image_preview_url($pics['url'])}">
<img src="{:cmf_get_image_preview_url($pics['url'])}"
id="thumbnail-preview_$pics['url']"
width="135" style="cursor: pointer"/></a></li>
</ul>
<a href="javascript:uploadMultiImage('图片上传','#photos_trade','photos-item-tpl');"
class="btn btn-success btn-sm">选择图片</a>

//多张上传的js部分
<script type="text/html" id="photos-item-tpl">
<li id="saved-image{id}">
<input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}">
<input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}"
style="width: 200px;" title="图片名称">
<img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;"
οnclick="imagePreviewDialog(this.src);">
<a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a>
<a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a>
</li>
</script>

2、只须要两个 a标签来执行方法就可以了。
uploadOneImage(‘图片上传’,’#thumbnail’);
uploadMultiImage(‘图片上传’,’#photos_trade’,‘photos-item-tpl-trade’);

这两个方法在admin.js和另一个js文件都有。

3、紧接着会打开一个内嵌界面,然后art.dialog.open(GV.ROOT + ‘user/Asset/webuploader?’ + params, 指向了php中的方法user/Asset/webuploader,在webuploader里面有具体的上传方法,前面只是为了调用这个功能而已。

ps:若要单独分割这个上传图片或文件功能,只需将admin.js的;(function)里面的内容剪切出来放到一个新的js文件里面(里面也定义了选取时间的插件,一并取出来)和上传图片的方法,例如uploadOneImage()和openUploadDialog()放到对应的应用界面,再将webloader的方法和html模板移到对应的地方即可。

  • 小程序开发

    小程序开发 获取access_token要将申请的测试号的appid和secret填在相应的位置,而不是填公众号的appid和secret。

    小程序开发
  • global与GLOBAL区别

    global与GLOBAL区别 1.有些场合需要全局变量的出现,如下例子:<?php$name=”why”;//定义变量name,并初始化function echoName(){//试图引用函数外面的变量echo “m...

    global与GLOBAL区别
  • PHP取整

    PHP取整 1.直接取整,舍弃小数,保留整数:intval($a);2.四舍五入取整:round($a);3.向上取整,有小数就加1:ceil($a);4.向下取整:floor($a)。

    PHP取整
  • 为什么PHP变量以$开头

    PHP变量 ​ Because PHP was based on Perl which used $, though the symbols Perl used were meaningful andplenty us...

    为什么PHP变量以$开头
  • PHP超全局变量

    PHP超全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $G...

    PHP超全局变量
  • 面试准备

    PHP面试题目 1、阿里PHP面试​ https://blog.csdn.net/qishouzhang/article/details/47007177 1、get与post的区别​ 最直观的区别就是GET把参数...

    面试准备
  • tp5学习笔记9

    tp5学习笔记9 1、验证器1) 控制器中使用验证器 // 实例化验证器类 $validate=new Validate( [ &q...

    tp5学习笔记9
  • tp5学习笔记8

    tp5学习笔记8 1、视图a) 加载页面 1、继承系统控制器类 return $this->fetch(参数1,参数2,参数3,参数4); 参数1(字符串): 模板...

    tp5学习笔记8
  • tp5学习笔记7

    tp5学习笔记7 1、模型(model)数据模型 2、新建数据模型​ 1) 手动新建 在model目录下 新建 User.php // 声明命名空间 namespace a...

    tp5学习笔记7
  • tp5学习笔记6

    tp5学习笔记6 1、TP5.0 支持数据库类型1Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。 2、如何连接数据库1、配置文件定义 a、配置文件目录 /var/www/t...

    tp5学习笔记6