网站开发 · 2025年4月23日

ecshop图片路径相对地址改为绝对地址

在 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 数据库修改,还是老样子,一定要记得提前进行文件与数据库的备份,对了,这些相对路径改为绝对路径,许多人不明白究竟是要干嘛,为什么一定要这样修改,实际上根本不用这样修改,