文档章节

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

qihaokeji
 qihaokeji
发布于 2016/07/07 11:41
字数 551
阅读 37
收藏 0

在 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) ?    

  'http://www.zuimoban.com/'.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) ?  'http://www.zuimoban.com/'.$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) ?  'http://www.zuimoban.com/'.$url : $url; }    
 

三,再来介绍一下 ecshop 商品详情页里面的图片如何改为绝对路径。
 

这个就更简单了,直接在数据库里面进行修改,打开 phpmyadmin,执行如下的 sql 语句:
 

update ecs_goods set goods_desc=replace (goods_desc,'src="/images/upload/','src=" http://www.zuimoban.com/images/upload/')   
 

如果没有 phpmyadmin 的话,还可以在 ecshop 后台》数据库管理》SQL查询里面去执行。

 

注意点:不管对 ecshop 文件修改还是对 mysql 数据库修改,还是老样子,一定要记得提前进行文件与数据库的备份,对了,这些相对路径改为绝对路径,许多人不明白究竟是要干嘛,为什么一定要这样修改,实际上根本不用这样修改,

企业模板网站分享:  http://www.zuimoban.com/ 

 

本文转载自:http://www.zuimoban.com/php/ecshop/7643.html

共有 人打赏支持
qihaokeji
粉丝 0
博文 67
码字总数 13151
作品 0
深圳
运营/编辑
私信 提问
如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的。 ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度。 但是启用缓存机制,...

Surjur
2015/04/30
0
0
ECShop 2.7.2 最新任意用户登陆漏洞

由于最近项目需要, 查看了下商派最新发布的ECShop 2.7.2正式版的源代码, 没想到在看到第二个文件时就发现了一处比较明显, 且低级漏洞。这个漏洞可以让任何人以任何用户身份登录到ECShop前台!...

沱长
2010/05/05
5.6K
5
请问如何用ecshop的fckeditor编辑器实现跨域、跨空间、跨网站站点上传图片?

请问如何用ecshop的fckeditor编辑器实现跨域、跨空间、跨网站站点上传图片,比如ecshop程序装在A空间,要让图片...传到B空间去, 以便实现图片...和程序分离 请问怎么通过A空间ecshop的fcked...

osi
2013/10/21
653
0
整合 ECShop2.7.2 与 Discuz!6.0

1. 安装ECShop2.7.2 a) 推荐配置:LAMP(Linux+Apache+Mysql+PHP) 操作系统:Linux (支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统) WEB服务器:Apache (支持httpd, Zeus, II......

鉴客
2011/09/21
705
0
去掉ecshop中后台更新提示和修改ECSHOP前后台的验证码背景

去掉admin/templates/start.htm中 <ul id=”lilist” style=”padding:0; margin: 0; list-style-type:none; color: #CC0000;”>{foreach from=$warning_arr item=warning}<li style=”borde......

Android1989
2014/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos操作时区

变更时区不需要重启 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 同步时间 ntpdate asia.pool.ntp.org...

果树啊
9分钟前
0
0
图解ZooKeeper的典型应用场景

zookeeper在很多框架中都有应用,例如:Dubbo,Hadoop,Kafka等,但典型的用法也就几种,掌握了这几种用法,再看zookeeper在相关框架中的应用就很轻松,下一篇文章将会详细介绍zookeeper在d...

Java填坑路
22分钟前
2
0
Hadoop之MapReduce理论篇

1. Writable序列化 序列化就是把内存中的对象,转换成字节序列 (或其他数据传输协议) 以便于存储 (持久化) 和网络传输。 反序列化就是将收到字节序列 (或其他数据传输协议) 或者是硬盘的持久...

飞鱼说编程
24分钟前
1
0
Java使用原生的HttpURLConnection发送http请求

/** * 发送http请求 * @param message 发送的内容 * @param snedUrl 请求的url * @return */public static String sendRequest(String message, String snedUrl) { log.e......

骑羊放狼灬
26分钟前
0
0
Java四种线程池两篇文章节选总结

Executor 可 以 创 建 3 种 类 型 的 ThreadPoolExecutor 线 程 池: 1. FixedThreadPool 创建固定长度的线程池,每次提交任务创建一个线程,直到达到线程池的最大数量,线程池的大小不再变化...

亭子happy
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部