zoukankan      html  css  js  c++  java
  • 七牛使用代码

    <?php
    /**
     * 商品图片统一调用函数  v3-b12
     *
     *
     *
     * @package    function* www.haoid.cn 专业团队 提供售后服务
     */
    
    defined('InShopNC') or exit('Access Invalid!');
    // 七牛外链域名
    define('QINIU_DOMAIN','http://pic.121mai.com');
    // 引入七牛sdk
    require_once __DIR__.'/../../../data/api/php-sdk-master/autoload.php';
    // 引入鉴权类
    use QiniuAuth;
    // 引入资源管理类
    use QiniuStorageBucketManager;
    
    use QiniuStorageUploadManager;
    
    /**
     * 取得商品缩略图的完整URL路径,接收商品信息数组,返回所需的商品缩略图的完整URL
     *
     * @param array $goods 商品信息数组
     * @param string $type 缩略图类型  值为60,240,360,1280
     * @return string
     */
    //未经加工过的thumb
    function thumb_raw($goods = array(), $type = ''){
        $type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
        if (!in_array($type, $type_array)) {
            $type = '240';
        }
        if (empty($goods)){
            return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
        }
        if (array_key_exists('apic_cover', $goods)) {
            $goods['goods_image'] = $goods['apic_cover'];
        }
        if (empty($goods['goods_image'])) {
            return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
        }
        $search_array = explode(',', GOODS_IMAGES_EXT);
        $file = str_ireplace($search_array,'',$goods['goods_image']);
        $fname = basename($file);
        //取店铺ID
        if (preg_match('/^(d+_)/',$fname)){
            $store_id = substr($fname,0,strpos($fname,'_'));
        }else{
            $store_id = $goods['store_id'];
        }
        $file = $type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file);
        if (!file_exists(BASE_UPLOAD_PATH.'/'.ATTACH_GOODS.'/'.$store_id.'/'.$file)){
            return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
        }
        $thumb_host = UPLOAD_SITE_URL.'/'.ATTACH_GOODS;
        return $thumb_host.'/'.$store_id.'/'.$file;
    
    }
    
    // 七牛上传图片处理
    function new_upload($filePath,$newfile){
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = 'O9fT4BHnNJgTVlccVCPhcVZsxPQhYE3JEmVT2RR2';
        $secretKey = 'pgbAMset23cJTKLbnCBfIW_T1rLRWKOQ7kuvIyFo';
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        
        // 要上传的空间
        $bucket = 'mall';
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
    
        // 初始化 UploadManager 对象并进行文件的上传
        $uploadMgr = new UploadManager();
        
       
        // 上传到七牛后保存的文件名
        $key = $newfile;//$filePath 要上传文件的本地路径
        //图片是否存在
        if(!empty($filePath) && file_exists($filePath)){
            // 调用 UploadManager 的 putFile 方法进行文件的上传
            list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
           
            if ($err !== null) {
                return 0; // 上传失败
            } else {
                // var_dump($ret);
                return QINIU_DOMAIN . '/'.$ret['key']; //  上传成功
    
            }
        }else if(!file_exists($filePath)){
            $not="图片:{$key} 不存在";
            return 0;
        }
    }
    
    
    
    
    /**
     * 取得商品缩略图的七牛完整URL路径,接收商品信息数组,返回所需的商品缩略图的七牛完整URL
     *
     * @param array $goods 商品信息数组
     * @param string $type 缩略图类型  值为60,240,360,1280
     * @return string
     */
    //加工后的thumb
    function thumb($goods = array(), $type = ''){
    	$type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
    	if (!in_array($type, $type_array)) {
    		$type = '240';
    	}
    	if (empty($goods)){
    		return QINIU_DOMAIN.'/'.defaultGoodsImage($type);
    	}
    	if (array_key_exists('apic_cover', $goods)) {
    		$goods['goods_image'] = $goods['apic_cover'];
    	}
    	if (empty($goods['goods_image'])) {
    		return QINIU_DOMAIN.'/'.defaultGoodsImage($type);
    	}
    	//图片路径
    	$file=$goods['goods_image'];
    
    	// 需要填写你的 Access Key 和 Secret Key
    	$accessKey = 'O9fT4BHnNJgTVlccVCPhcVZsxPQhYE3JEmVT2RR2';
    	$secretKey = 'pgbAMset23cJTKLbnCBfIW_T1rLRWKOQ7kuvIyFo';
    	//初始化Auth状态:
    	$auth = new Auth($accessKey, $secretKey);
    	//初始化BucketManager
    	$bucketMgr = new BucketManager($auth);
    	//你要操作的空间, 并且这个key在你空间中存在
    	$bucket = 'mall';
    	$key = $file;
    	//获取文件的状态信息
    	list($ret, $err) = $bucketMgr->stat($bucket, $key);
    	if ($err !== null) {
    		//var_dump($err);
    		return QINIU_DOMAIN . '/' . defaultGoodsImage ( $type );
    	} else {
    		//var_dump($ret);
    		return QINIU_DOMAIN . '/' . ($type == '' ? $file : $file.'_'.$type);
    	}
    }
    
    /**
     * 取得商品缩略图的完整URL路径,接收图片名称与店铺ID
     *
     * @param string $file 图片名称
     * @param string $type 缩略图尺寸类型,值为60,240,360,1280
     * @param mixed $store_id 店铺ID 如果传入,则返回图片完整URL,如果为假,返回系统默认图
     * @return string
     */
    //未经加工过的cthumb
    function cthumb_raw($file, $type = '', $store_id = false) {
        $type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
        if (!in_array($type, $type_array)) {
            $type = '240';
        }
        if (empty($file)) {
            return UPLOAD_SITE_URL . '/' . defaultGoodsImage ( $type );
        }
        $search_array = explode(',', GOODS_IMAGES_EXT);
        $file = str_ireplace($search_array,'',$file);
        $fname = basename($file);
        // 取店铺ID
        if ($store_id === false || !is_numeric($store_id)) {
            $store_id = substr ( $fname, 0, strpos ( $fname, '_' ) );
        }
        // 本地存储时,增加判断文件是否存在,用默认图代替
        if ( !file_exists(BASE_UPLOAD_PATH . '/' . ATTACH_GOODS . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file)) )) {
            return UPLOAD_SITE_URL.'/'.defaultGoodsImage($type);
        }
        $thumb_host = UPLOAD_SITE_URL . '/' . ATTACH_GOODS;
        return $thumb_host . '/' . $store_id . '/' . ($type == '' ? $file : str_ireplace('.', '_' . $type . '.', $file));
    }
    
    /**
     * 取得商品缩略图的七牛完整URL路径,接收图片名称与图片类型
     *
     * @param string $file 图片名称
     * @param string $type 缩略图尺寸类型,值为60,240,360,1280
     * @return string
     */
    //加工后的cthumb
    function cthumb($file, $type = '',$tore_id = false) {
    	$type_array = explode(',_', ltrim(GOODS_IMAGES_EXT, '_'));
    	// 图片类型
    	if (!in_array($type, $type_array)) {
    		$type = '240';
    	}
    	// 文件为空 显示默认图像
    	if (empty($file)) {
    		return QINIU_DOMAIN . '/' . defaultGoodsImage ( $type );
    	}
    
    	// 需要填写你的 Access Key 和 Secret Key
    	$accessKey = 'O9fT4BHnNJgTVlccVCPhcVZsxPQhYE3JEmVT2RR2';
    	$secretKey = 'pgbAMset23cJTKLbnCBfIW_T1rLRWKOQ7kuvIyFo';
    	//初始化Auth状态:
    	$auth = new Auth($accessKey, $secretKey);
    	//初始化BucketManager
    	$bucketMgr = new BucketManager($auth);
    	//你要操作的空间, 并且这个key在你空间中存在
    	$bucket = 'mall';
    	$key = $file;
    	//获取文件的状态信息
    	list($ret, $err) = $bucketMgr->stat($bucket, $key);
    	if ($err !== null) {
    		//var_dump($err);
    		return QINIU_DOMAIN . '/' . defaultGoodsImage ( $type );
    	} else {
    		//var_dump($ret);
    		return QINIU_DOMAIN . '/' . ($type == '' ? $file : $file.'_'.$type);
    	}
    }
    
    /**
     * 商品二维码
     * @param array $goods_info
     * @return string
     */
    function goodsQRCode($goods_info) {
        if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $goods_info['store_id'] . '/' . $goods_info['goods_id'] . '.png' )) {
            return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
        }
        return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$goods_info['store_id'].DS.$goods_info['goods_id'].'.png';
    }
    
    /**
     * 商品二维码 v3-b12
     * @param array $goods_info
     * @return string
     */
    function storeQRCode($store_id) {
        if (!file_exists(BASE_UPLOAD_PATH. '/' . ATTACH_STORE . '/' . $store_id . '/' . $store_id . '_store.png' )) {
            return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.'default_qrcode.png';
        }
        return UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$store_id.DS.$store_id.'_store.png';
    }
    
    /**
     * 取得抢购缩略图的完整URL路径
     *
     * @param string $imgurl 商品名称
     * @param string $type 缩略图类型  值为small,mid,max
     * @return string
     */
    function gthumb($image_name = '', $type = ''){
    	if (!in_array($type, array('small','mid','max'))) $type = 'small';
    	if (empty($image_name)){
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
    	}
        list($base_name, $ext) = explode('.', $image_name);
        list($store_id) = explode('_', $base_name);
        $file_path = ATTACH_GROUPBUY.DS.$store_id.DS.$base_name.'_'.$type.'.'.$ext;
        if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
    	}
    	return UPLOAD_SITE_URL.DS.$file_path;
    }
    
    /**
     * 取得买家缩略图的完整URL路径
     *
     * @param string $imgurl 商品名称
     * @param string $type 缩略图类型  值为240,1024
     * @return string
     */
    function snsThumb($image_name = '', $type = ''){
    	if (!in_array($type, array('240','1024'))) $type = '240';
    	if (empty($image_name)){
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
        }
    
        list($member_id) = explode('_', $image_name);
        $file_path = ATTACH_MALBUM.DS.$member_id.DS.str_ireplace('.', '_'.$type.'.', $image_name);
        if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
    	}
    	return UPLOAD_SITE_URL.DS.$file_path;
    }
    
    /**
     * 取得积分商品缩略图的完整URL路径
     *
     * @param string $imgurl 商品名称
     * @param string $type 缩略图类型  值为small
     * @return string
     */
    function pointprodThumb($image_name = '', $type = ''){
    	if (!in_array($type, array('small','mid'))) $type = '';
    	if (empty($image_name)){
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
        }
    
        if($type) {
            $file_path = ATTACH_POINTPROD.DS.str_ireplace('.', '_'.$type.'.', $image_name);
        } else {
            $file_path = ATTACH_POINTPROD.DS.$image_name;
        }
        if(!file_exists(BASE_UPLOAD_PATH.DS.$file_path)) {
    		return UPLOAD_SITE_URL.'/'.defaultGoodsImage('240');
    	}
    	return UPLOAD_SITE_URL.DS.$file_path;
    }
    
    /**
     * 取得品牌图片
     *
     * @param string $image_name
     * @return string
     */
    function brandImage($image_name = '') {
        if ($image_name != '') {
            return UPLOAD_SITE_URL.'/'.ATTACH_BRAND.'/'.$image_name;
        }
        return UPLOAD_SITE_URL.'/'.ATTACH_COMMON.'/default_brand_image.gif';
    }
    
    /**
    * 取得订单状态文字输出形式
    *
    * @param array $order_info 订单数组
    * @return string $order_state 描述输出
    */
    function orderState($order_info) {
        switch ($order_info['order_state']) {
            case ORDER_STATE_CANCEL:
                $order_state = L('order_state_cancel');
            break;
            case ORDER_STATE_NEW:
                $order_state = L('order_state_new');
            break;
            case ORDER_STATE_PAY:
                $order_state = L('order_state_pay');
            break;
            case ORDER_STATE_SEND:
                $order_state = L('order_state_send');
            break;
            case ORDER_STATE_SUCCESS:
                $order_state = L('order_state_success');
            break;
        }
        return $order_state;
    }
    
    /**
     * 取得订单支付类型文字输出形式
     *
     * @param array $payment_code
     * @return string
     */
    function orderPaymentName($payment_code) {
        return str_replace(
                array('offline','online','alipay','tenpay','chinabank','predeposit'),
                array('货到付款','在线付款','支付宝','财付通','网银在线','站内余额支付'),
                $payment_code);
    }
    
    /**
     * 取得订单商品销售类型文字输出形式
     *
     * @param array $goods_type
     * @return string 描述输出
     */
    function orderGoodsType($goods_type) {
        return str_replace(
                array('1','2','3','4','5'),
                array('','抢购','限时折扣','优惠套装','赠品'),
                $goods_type);
    }
    
    /**
     * 取得结算文字输出形式
     *
     * @param array $bill_state
     * @return string 描述输出
     */
    function billState($bill_state) {
        return str_replace(
                array('1','2','3','4'),
                array('已出账','商家已确认','平台已审核','结算完成'),
                $bill_state);
    }
    ?>
    

      

  • 相关阅读:
    Activiti-流程定义
    Activiti入门案例
    工作流--Activiti
    并发编程面试题
    CAS无锁机制
    Activiti个人流程和流量变化
    工作流——Activiti案例
    工作流——Activiti
    并发编程面试题
    锁机制-AQS和CAS
  • 原文地址:https://www.cnblogs.com/xiaoxiaomengxiangjia/p/5443100.html
Copyright © 2011-2022 走看看