PHP code example of quansitech / qscmf-formitem-aliyun-oss

1. Go to this page and download the library: Download quansitech/qscmf-formitem-aliyun-oss library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

quansitech / qscmf-formitem-aliyun-oss example snippets


composer 

  //UPLOAD_TYPE_*** 其中***为对应的type
  

'UPLOAD_TYPE_FILE' => array(
 'mimes' => '', //允许上传的文件MiMe类型
 'maxSize' => 500*1024*1024, //上传的文件大小限制 (0-不做限制)
 'exts' => 'doc,docx,xls,xlsx,pdf,ppt,txt,rar,pptx,rtf,zip,7z,jpg,png', //允许上传的文件后缀
 'autoSub' => true, //自动子目录保存文件
 'subName' => array('date','Ymd'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
 'rootPath' => './Uploads/', //保存根路径
 'savePath' => 'file/', //保存路径
 'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
 'saveExt' => '', //文件保存后缀,空则使用原后缀
 'replace' => false, //存在同名是否覆盖
 'hash' => true, //是否生成hash编码
 'callback' => false, //检测文件是否存在回调函数,如果存在返回文件信息数组
 'oss_host' => env('ALIOSS_HOST'), // oss地址,如果不指定upload_oss_host,该地址会作为上传地址和资源访问地址
 'upload_oss_host' => env("UPLOAD_ALIOSS_HOST"), // 指定上传的oss地址,不指定的话会使用oss_host作为上传地址
 'oss_meta' => array('Cache-Control' => 'max-age=2592000', 'Content-Disposition' => 'attachment'),
),

'oss_meta' => array('Cache-Control' => 'max-age=2592000', 'Content-Disposition' => 'attachment; filename=__title__''),

  // audio_oss为上传单个音频,audios_oss为上传多个音频

  $extra_attr = 'data-url='.U('/extends/AliyunOss/policyGet', array('type' => 'audio')); // 默认值
  // 如没有特别需求,$extra_attr可不传
  addFormItem('audio_id', 'audio_oss', '单个音频', '', '', '', $extra_attr)
  addFormItem('audios_id', 'audios_oss', '多个音频')

  // file_oss为上传单个文件,files_oss为上传多个文件
  
  $extra_attr = 'data-url='.U('/extends/AliyunOss/policyGet', array('type' => 'file')); // 默认值
  // 如没有特别需求,$extra_attr可不传
  addFormItem('file_id', 'file_oss', '单个文件', '', '', '', $extra_attr)
  addFormItem('files_id', 'files_oss', '多个文件')
  

  // picture_oss为上传单张图片,pictures_oss为上传多张图片
  
  $extra_attr = 'data-url='.U('/extends/AliyunOss/policyGet', array('type' => 'image')); // 默认值
  // 如没有特别需求,$extra_attr可不传
  addFormItem('picture_id', 'picture_oss', '单张图片', '', '', '', $extra_attr)
  addFormItem('pictures_id', 'pictures_oss', '多张图片')
  
  $options = ['process'=>'?x-oss-process=image/resize,m_fill,w_300,h_200'] //其中w_300,h_200为参数宽300高200,请根据实际需求填写
  // 如表单没有显示缩略图需求,$options可以不传,$options为空时显示原图
  addFormItem('picture_id', 'picture_oss', '单张图片', '',$options , '', '')
  

  // picture_oss_intercept为上传单张裁剪后的图片,pictures_oss_intercept为上传多张裁剪后的图片
  
  $option = [
    'type' => 'image', // 默认值
    'width' => 1, // 裁剪框宽高比例,此为宽度,默认为1
    'height' => 1 // 裁剪框宽高比例,此为高度,默认1
  ];
  
  // 如没有特别需求,$option可不传
  addFormItem('cover', 'picture_oss_intercept', '单张裁剪后的图片', '', $option)
  addFormItem('covers', 'pictures_oss_intercept', '多张裁剪后的图片')
  

+ 使用 
  + 上传音频:audio_oss/audios_oss

  

+ 上传文件:file_oss/files_oss
  
  

+ 上传图片:picture_oss/pictures_oss
  
  

+ 上传裁剪后的图片:picture_oss_intercept/pictures_oss_intercept
  
  

# 



## <a name="oss_uploader">oss_uploader oss上传图片</a>

### 介绍

  图片裁剪上传功能,内置cropper.js,可配置是否裁剪,可配置oss。

### 功能:

* 可配置使用oss

* 可配置是否裁剪

* 可以定义裁剪尺寸,裁剪比例

* 可以定义限制文件后缀、大小以及是否允许选取重复文件

* 限制上传张数

* 可自定义提示函数

* 裁剪上传图会默认转成jpg;png透明背景默认转成白色
  
  ### 初始化调用