在 ecshop 系统源码中,ecshop 对于图片的处理,使用了相对路径,有些情况我们也需要使用绝对路径,比如广告图片,还有一些附件什么的,这个是要看什么情况下使用的
一,我们先看一下如何把 ecshop 广告图片 /data/afficheimg/ 相对路径改为绝对路径地址吧。
首先打开控制图片路径的函数,找到 includes/lib_insert.php 文件,查找 functions insert_ads($arr)函数,如下代码:
case 0: // 图片广告
$src = (strpos($row['ad_code'], 'http://') === false && strpos($row['ad_code'], 'https://') === false) ?
'https://www.ldhost.cn/help/'.DATA_DIR . "/afficheimg/$row[ad_code]" : $row['ad_code'];
好了,再去看看自己的广告图片地址吧,现在已经改为绝对地址了。
二,有的时候还需要将 ecshop 产品图片的相对路径改为绝对路径地址,我们先来看一下如何进行修改吧。
修改Includes/lib_common.php文件中的function get_image_path函数,搜索:重写 URL 地址,在下面的function build_uri函数中,在 $uri = ''; 的下面增加 $weburl = 'http://'.$_SERVER['SERVER_NAME'].'/';
再把下面return $uri;替换成return $weburl . $uri;
找到图片格式化函数get_image_path 把return $url;
return (strpos($url, 'http://') === false && strpos($url, 'https://') === false) ? 'https://www.ldhost.cn/help/'.$url : $url;
修改好以后就是下面这个样子了:
function get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false) { $url = emptyempty($image) ? $GLOBALS['_CFG']['no_picture'] : $image; return (strpos($url, 'http://') === false && strpos($url, 'https://') === false) ? 'https://www.ldhost.cn/help/'.$url : $url; }
三,再来介绍一下 ecshop 商品详情页里面的图片如何改为绝对路径。
这个就更简单了,直接在数据库里面进行修改,打开 phpmyadmin,执行如下的 sql 语句:
update ecs_goods set goods_desc=replace (goods_desc,'src="/images/upload/','src=" https://www.ldhost.cn/help/images/upload/')
如果没有 phpmyadmin 的话,还可以在 ecshop 后台》数据库管理》SQL查询里面去执行。
注意点:不管对 ecshop 文件修改还是对 mysql 数据库修改,还是老样子,一定要记得提前进行文件与数据库的备份,对了,这些相对路径改为绝对路径,许多人不明白究竟是要干嘛,为什么一定要这样修改,实际上根本不用这样修改,
(责任编辑:好模板) |