zoukankan      html  css  js  c++  java
  • 修改ECSHOP,支持图片云存储化(分离到专用图片服务器)

    为了提高页面加载速度和适应中国复杂的网络环境,我决定把所有商品图片都分离到专业的云存储服务器上,具有CDN加速功能。

    首先,生成一个域名 img.xxxx.com 并映射到自己的云存储别名,然后把全部图片(含目录结构)上传到 云存储空间。

    在config.php 增加
    /* 商品详情图片地址替换 */
    // 总开关,1启用云存储,0使用本地图片
    $imgserver = 1;
    // 匹配图片前缀,即上传图片src的共同部分,在“/”前加“”
    $imgserver_pattern = '/images/upload';
    // 域名前缀,最后不用加“/”
    $imgserver_path = 'http://img.xxxx.com';


    goods.php 在170-180行左右中寻找
    /* 购买该商品可以得到多少钱的红包 */
            if ($goods['bonus_type_id'] > 0)

    加入以下部分:
    // 商品详情图片地址替换, by layen 明朗
    if ($imgserver == 1) {
        $goods['goods_desc'] = preg_replace('/'.$imgserver_pattern.'/i', $imgserver_path.'', $goods['goods_desc']);
    }

    到$smarty->assign('goods', $goods);
    这一句代码之前即可


    在/includes/lib_common.php中大约2187行,找到下面代码,增加红色部位即可。

    /**
    * 重新获得商品图片与商品相册的地址
    *
    * @param int $goods_id 商品ID
    * @param string $image 原商品相册图片地址
    * @param boolean $thumb 是否为缩略图
    * @param string $call 调用方法(商品图片还是商品相册)
    * @param boolean $del 是否删除图片
    *
    * @return string   $url
    */
    function get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false){
        $url = empty($image) ? $GLOBALS['_CFG']['no_picture'] : $image;
      
        if( $GLOBALS['imgserver'] == 1){
            $url = str_replace('images/','http://img.xxxx.com/images/',$url);  // 修改产品主图路径,by layen 明朗
        }
       
        return $url;
    }

  • 相关阅读:
    606. Construct String from Binary Tree 【easy】
    520. Detect Capital【easy】
    28. Implement strStr()【easy】
    521. Longest Uncommon Subsequence I【easy】
    线程,进程,任务
    nginx for windows中的一项缺陷
    nginx在windwos中的使用
    关于wxwidgets图形界面的关闭窗口的按钮无效的解决办法
    进程与线程之间的资源的关系
    关于函数可重入需要满足的条件
  • 原文地址:https://www.cnblogs.com/wawahaha/p/4639051.html
Copyright © 2011-2022 走看看