多图片上传
addImages('name值', '标题' [, '提示', '默认值', '限制大小', '文件后缀', '额外css类', '缩略图参数', '水印参数'])
| 版本 | 新增功能 |
|---|---|
| 1.2.0 | 自定义生成缩略图,自定义水印 |
标识符:images
| 参数 | 含义 | 类型 |
|---|---|---|
| name | name值 | string |
| title | 标题 | string |
| tips | 提示 | string |
| default | 默认值 | string |
| size | 限制大小(单位kb) | string |
| ext | 文件后缀(如:'jpg,png,gif') | string |
| extra_class | 额外css类 | string |
| thumb | 缩略图参数(1.2.0+) | string/array |
| watermark | 水印参数(1.2.0+) | string/array |
用法还是和单文件上传是一样的,具体信息请参考单文件上传。
上传后,保存的是图片附件id,上传多张图片,保存的值类似:
1,2,3(逗号隔开)
如果在前台页面使用时,需要获取该图片路径,需要将值用explode函数将值转为数组,然后逐个使用get_file_path(附件id)来获取对应的路径。
自定义生成缩略图" class="reference-link">自定义生成缩略图
此参数需要1.2.0或以上版本支持。
生成30x30的缩略图
如果需要生成30x30的缩略图,那么size参数要写成30,30(用逗号隔开)
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', ['size' => '30,30'])->fetch();
或者
return ZBuilder::make('form')->addFormItems([['images', 'pic', '图片', '', '', '', '', '', ['size' => '30,30']]])->fetch();
设置缩略图裁剪类型
默认情况下,缩略图的裁剪方式是“等比例缩放”,如果需要设置其他类型,可以这样写
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', ['size' => '30,30', 'type' => 2])->fetch();
type参数可以设置以下几种,默认为1,即等比例缩放。
| 参数 | 含义 |
|---|---|
| 1 | 等比例缩放 |
| 2 | 缩放后填充 |
| 3 | 居中裁剪 |
| 4 | 左上角裁剪 |
| 5 | 右下角裁剪 |
| 6 | 固定尺寸缩放 |
关闭缩略图功能
默认情况下,如果没有设置缩略图参数,那么是否生成缩略图由【系统】【系统设置】【上传】中的配置决定。

如果在表单项参数中设置了缩略图参数,则以表单项的缩略图参数为优先。
如果在系统设置中设置了缩略图参数,但在某些情况下,想临时不生成缩略图,则可以将缩略图参数设置为字符串'close'。
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', 'close')->fetch();
自定义水印" class="reference-link">自定义水印
此参数需要1.2.0或以上版本支持。
设置参数的img为附件id,即水印图片的附件id,如果附件不存在,则不会添加水印。
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', '', ['img' => 10])->fetch();
设置水印的位置
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', '', ['img' => 10, 'pos' => 1])->fetch();
水印位置有以下几个参数,默认为9,即右下角。
| 参数 | 含义 |
|---|---|
| 1 | 左上角 |
| 2 | 上居中 |
| 3 | 右上角 |
| 4 | 左居中 |
| 5 | 居中 |
| 6 | 右居中 |
| 7 | 左下角 |
| 8 | 下居中 |
| 9 | 右下角 |
设置水印透明度
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', '', ['img' => 10, 'pos' => 1, 'alpha' => 90])->fetch();
透明度取值范围是0~100,数字越小,透明度越高。
不添加水印
默认情况下,如果没有设置水印参数,那么是否添加水印由【系统】【系统设置】【上传】中的配置决定。

如果在表单项参数中设置了水印图参数,则以表单项的水印参数为优先。
如果在系统设置中设置了打开了水印功能,但在某些情况下,想临时不添加水印,则可以将水印参数设置为字符串'close'。
return ZBuilder::make('form')->addImages('pic', '图片', '', '', '', '', '', '', 'close')->fetch();
