Yii2 自定义工具集(后续慢慢更新)

方便后期整合

字符串裁剪

    /**
     * 剥去tag标签,然后根据$len裁剪字符串$data,并可选择在最后末尾加...
     * 调用方法:  Yii::$app->mytools->CutString($a,3,1)
     * @param [type] $data [传入字符串]
     * @param [int] $len  [需要切割的长度]
     * @param [int] $len  [末尾是否要加3个点]
     */

    public static function CutString($data=null,$len=null,$dot=0)
    {
        $tmpStr = strip_tags($data);
        $tmpLen = mb_strLen($tmpStr);

        $tmpStr = mb_substr($tmpStr,0,$len,'utf-8');
        $dot = $dot==0 ? '' : '...';
        return $tmpStr.$dot;
    }

七牛云整合

     /**
     * 上传图片到七牛云
     * 调用方法:  Yii::$app->mytools->QiniuUploads('CarSuit','pic','small_pics');
     * @param  [string] $model      [上传的模型类名称]
     * @param  [string] $cover      [首图]
     * @param  [string] $pics       [小图 key 集合名称]
     * @return [string]  $cover,$pics           [返回到七牛云服务器的图片地址数组]
     * @return [<备注>] 首图返回地址, 小图返回key集合的json
     */
    public static function QiniuUploads($model=null,$cover=null,$small_pics=null)
    {
        if($_FILES[$model]['error'][$cover] > 0 ){
            return false;
        }
        $arr = Yii::$app->params['qiniu'] ;
        $qiniu = new Qiniu($arr['AK'],$arr['SK'],$arr['DOMAIN'],$arr['BUCKET']);
        $key = uniqid();
        $qiniu->uploadFile($_FILES[$model]['tmp_name'][$cover],$key);
        $pic = $qiniu->getLink($key);

        $pics = [];
        //var_dump($_FILES['CarSuit']['tmp_name']['small_pics']);die;
        foreach ( $_FILES[$model]['tmp_name'][$small_pics] as $key => $value ) {
            if($_FILES[$model]['error'][$small_pics][$key] > 0 ){
                continue;
            }
            $key = uniqid();
            $qiniu ->uploadFile($value,$key);
            // $pics[$key] = $qiniu->getLink($key);
            $pics[] = $key;
        }
        return ['cover'=>$pic,'pics'=>json_encode($pics)];
    }

图片切割

云图片一半都自带切割, 但是公司有些图片要放自己服务器上, 比较懒就弄个自适应..

    /**
     * [根据限定的高宽让图片在其内部居中对齐]
     * 引用方式: Yii::$app->mytools->CenterPic($model->photo,'100%','400px')
     * @param [type] $width  [限定图片宽]
     * @param [type] $height [限定图片高]
     * @param [type] $img    [传入的图片]
     */
    public static function CenterPic($img=null,$width=null,$height=null){
        if( $width==null |$height== null|$img==null ){
            return '传入图片参数错误!';
        }

        //图片在七牛上则加上http://,
        $str =  Yii::$app->params['qiniu']['DOMAIN'] ;
        $img = strpos($img,$str) ? $car->pic : 'http://'.$img ;

        $str = '
        <div style="position: relative;
                    overflow: hidden;
                    border-radius:5px;
                    width: '.$width.';
                    height: '.$height.';
                    margin: 0 auto;">
            <img src="'.$img.'" style="
                    width: 100%;
                    min-height: '.$height.';
                    position: absolute;">
        </div> ';
        return $str;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值