在php中设置子目录脚本的基本路径

时间:2011-03-07 08:05:40

标签: php

我可能知道这个问题会导致一个无应答主题,但谁知道呢! :d

concider我们有一个应该在根路径中使用的php脚本

像这样:

root/

但是当我们将它移动到子文件夹时,它就像这样:

root/script/gallery

在其代码中,注意到

images/add.png

它应该是

scripts/gallery/images/add.png

确定一种方法是在

部分设置基本路径
<base href="http://localhost/scripts/gallery/" /> 

但是设置此基本路径会使位于根目录中的其他脚本失败。

简单的解决方案和劳动方式是更改脚本中的所有路径。

2 个答案:

答案 0 :(得分:0)

我想你正在寻找这个。路径来自你的htdocs root。

if(dirname($_SERVER['PHP_SELF']) == '/script/dir/gallery')
{
  echo '<base href="http://localhost/scripts/gallery/" />';
}

答案 1 :(得分:0)

  

但是当我们将它移动到子文件夹时,它就像这样:

任何可能改变的东西都是抽象的好选择。我自己有一个非常简单的URL类,它通过使用$ _SERVER超全局来确定当前请求的URL,它有一个简单的方法,可以从基本URL创建URL,包括相对路径。

所以,而不是

<img src="/images/foo.jpg" />

我用

<img src="<?php echo url( './images/foo.jpg' ); ?>

当我重新定位PHP文件时,所有路径都会自动更新。