七牛使用代码

<?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 Qiniu\Auth;
// 引入资源管理类
use Qiniu\Storage\BucketManager;

use Qiniu\Storage\UploadManager;

/**
 * 取得商品缩略图的完整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);
}
?>

  

时间: 2024-08-11 11:58:02

七牛使用代码的相关文章

七牛存储图片代码

1 //上传到七牛 2 //单个文件 3 //formname: 表单名字; pre: 图片Url中显示的图片名字(也就是七牛中的key) 4 public function upImage($formname, $pre) 5 { 6 if (empty($_FILES[$formname]['size'])) { 7 return array( 8 'qiniu_name' => '000', 9 'file_name' => '0000' 10 ); 11 } 12 13 //取得后缀

用七牛sdk传递图片到七牛服务器

第一步申请七牛的开发者账号,申请完了之后,可以获取accesskey和secrect key 参照官方网站的java的demo 下载了依赖的jar包,放到/Library/Java/Extentiosns目录下 将对应的accesskey  secretkey填入 即可上传图片 import com.qiniu.util.Auth; import java.io.IOException; import com.qiniu.common.QiniuException; import com.qin

UEditor+七牛,实现图片直连上传

最近做的项目,涉及到使用富文本编辑器,我选择了百度的UEditor.同时,我们的图片放在七牛云存储上.关于这两者间的集成,我写下一些个人的经验,与大家分享. 图片上传方案 目前来说,Web端基于七牛等云存储的图片上传方式分为以下两种: 1. 上传图片至服务端,再将数据转发至七牛. 通过服务端接受用户上传的内容,同时可以对内容进行有效性审核,拒绝不合规范的内容,然后从服务端将内容上传至七牛. 这种方法可以有效控制并记录用户提交的内容,但同时也增加了服务器的运行压力. 2. 直接上传图片至七牛,然后

ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)

七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/1237/csharp UpoladService示例代码: public class UpoladService : IUpoladService {     private readonly static string[] _imageExtensions = new string[] { ".jpg", ".png", ".gif&quo

用WP Super Cache和七牛为你的WordPress网站加速

众所周知,WordPress一直都是博客建站的首选程序,而现在也有越来越多的企业网站都选择采用WordPress来搭建. WordPress虽好但其过于臃肿且响应速度慢等缺点也为站长们所诟病,目前网上介绍为WordPress加速的方法五花八门,各有各的优缺点. 而我选择的是通过WP Super Cache和七牛相结合为WordPress加速. 首先~ 在入正题之前,有必要和新入坑的童鞋科普下以下内容: 不论是在本地还是服务器上成功安装WordPress后,你会发现其后台打开速度好慢好慢,这是因为

QiniuUpload- 一个方便用七牛做图床然后插入markdown的小工具

最近一段时间有用markdown做笔记,其他都好,但是markdown插入图片挺麻烦的,特别是想截图之后直接插入的时候.需要首先把图片保存了,然后还要上传到一个地方生成链接才能插入.如果有个工具可以直接上传图片或者截图生成markdown可以用的链接就好了.所以决定自己下班后写一个,不过自己挺菜的,也就能用,代码完全是渣不能看...在这里把自己的思路还有其中遇到的问题记录一下. 首先需要选一个图床,我选了七牛,主要是一个是有免费的空间,加上提供了SDK,这样就能写程序上传了.语言挑了C#,因为感

iOS 客户端获取七牛上传token

一.官方参考文档: 1.上传策略http://developer.qiniu.com/article/developer/security/put-policy.html 2.上传凭证(即uptoken)http://developer.qiniu.com/article/developer/security/upload-token.html 3.下载凭证http://developer.qiniu.com/article/developer/security/download-token.h

使用python实现将截图上传到七牛服务器,并将七牛生成的外部链接添加的剪切板的功能

目的:在使用markdown来记录文档时,不必每次都将截图存到文档中,只需将图片链接存放到文档中,此时就想到了需要使用云服务器和自动上传文件的功能 OS: Ubuntu 15.10 version 0.1: 工具:截图工具shutter, 剪切板操作工具: xsel 源代码: 1 #!/usr/bin/python 2 import time ##时间模块,使用时间戳生成唯一的文件名 3 import commands ##python中的执行shell命令的模块 4 import os ##同

七牛李道兵:高可用可伸缩架构实用经验谈

七牛李道兵:高可用可伸缩架构实用经验谈 移动互联网.云计算和大数据的成熟和发展,让更多的好想法得以在很短的时间内实现为产品.此时,如果用户需求抓得准,用户数量将很可能获得爆发式增长,而不需要像以往一样需要精心运营几年的时间.然而用户数量的快速增长(尤其是短时间内的爆发式增长),通常会让应用开发者有些吃不消,不得不面临一些严峻的技术挑战:如何避免因为单台机器当机导致服务不可用:如何避免在服务容量不足时,用户体验下降,等等.在系统构建之初就采用高可用和可伸缩架构,将能有效避免这些问题. 如何构建高可