1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 修改ECSHOP 支持图片云存储化(分离到专用图片服务器)

修改ECSHOP 支持图片云存储化(分离到专用图片服务器)

时间:2023-04-14 02:50:16

相关推荐

修改ECSHOP 支持图片云存储化(分离到专用图片服务器)

独角兽企业重金招聘Python工程师标准>>>

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

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

在config.php 增加

/* 商品详情图片地址替换 */

// 总开关,1启用云存储,0使用本地图片

$imgserver = 1;

// 匹配图片前缀,即上传图片src的共同部分,在“/”前加“\”

$imgserver_pattern = '\/images\/upload';

// 域名前缀,最后不用加“/”

$imgserver_path = '';

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.'\0', $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/','/images/',$url);// 修改产品主图路径,by layen 明朗

}

return $url;

}

有朋友问起,如何写脚本定时同步图片到专用的图片服务器,那我就把自己的方法分享一下

写了个syncimages.lm脚本,由crontab每5分钟通过lftp执行一遍。内容如下:

open v0.//我使用的是又拍云的图片服务

user "username""password"

lcd /home/www/ecshop/images

cd /images//云服务器上,我也建立了 images目录

mirror -R --verbose=3 --only-newer --only-missing --parallel=3--exclude upload

转载:/thread-1118291-1-1.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。