把绝对路径转换为html里的相对路径?

warchief3000 2010-07-03 08:19:01
假如,我的服务器上有一张图片,它的绝对路径是 "c:/xampp/htdocs/project/upload/img/welcome.jpg"
然后,我有一个php页面 "c:/xampp/htdocs/project/index.php"。
我想在这页面里显示那张图片,我就需要把

"c:/xampp/htdocs/project/upload/img/welcome.jpg" 转换为 "upload/img/welcome.jpg"
如 <img src="upload/img/welcome.jpg"> 显示在页面上。

但是,如果我想在 "c:/xampp/htdocs/project/sub/a/index.php" 里显示的话:
<img src="../../upload/img/welcome.jpg">

php有什么内置function可以实现这装换吗?

另外,自己写一个,应该也是可以的,用$_SERVER['PHP_SELF']的话。

...全文
271 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
amani11 2010-07-03
  • 打赏
  • 举报
回复
你总有个入口文件,或者公共包含的文件,比如常用config.php保存数据库的账户信息

那就假设config.php在根目录下的data文件里

str_replace('/data/config.php', '', str_replace('\\', '/', __FILE__);
//一般来说这样就可以了

其他文件,只要包含这个文件,就得到了网站根目录
amani11 2010-07-03
  • 打赏
  • 举报
回复
你可以去看看新浪乐居的面试题之一

http://topic.csdn.net/u/20100623/04/72f6d6d3-9fa0-407b-99bd-8e5fb3bf8abd.html

这里关于相对目录的讨论

你可以把问题变得比较复杂。数据是你的,当然在可控制的范围内,效率最高,最简单实现是比较优的方案
warchief3000 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 amani11 的回复:]

把图片显示出来,就是解决问题,

说了是简单点的方式,不知道你试过没

不是谁都有心情灌水的
[/Quote]

如果php不在根目录,该怎么办呢?
amani11 2010-07-03
  • 打赏
  • 举报
回复
把图片显示出来,就是解决问题,

说了是简单点的方式,不知道你试过没

不是谁都有心情灌水的
warchief3000 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 amani11 的回复:]

简单点的,定义网站根目录 比如 define("ROOT_PATH", "c:/xampp/htdocs");

引用图片只要将 str_replace(ROOT_PATH, '', $imgPath);


当然,写个脚本,将数据库全部替换掉也不错
[/Quote]

这根本没有在解决我的问题嘛!
amani11 2010-07-03
  • 打赏
  • 举报
回复
简单点的,定义网站根目录 比如 define("ROOT_PATH", "c:/xampp/htdocs");

引用图片只要将 str_replace(ROOT_PATH, '', $imgPath);


当然,写个脚本,将数据库全部替换掉也不错

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧