2013-10-30 186 views
1

我知道这个问题已被问及很多次,或者至少有相关的问题,但我似乎无法弄清楚。我没有做太多的PHP编程,我只是想在我正在工作的所有网站上保留一个简单的模板。PHP包括路径问题

基本上有一个侧边栏,横幅,footer.php。我只是做

<?php include('includes/banner.php'); ?> 

这就是当你在根文件夹 - 在index.php。 里面banner.php是:

<div id="banner"> 
     <img src="images/../banner.jpg" width="1000" height="120" border="0"> 
    </div> 

这工作得很好,很正常,所有.PHP的根目录。

现在,当我去说目录A然后到B我有另一个example.php(所以A/B/example.php)。现在,如果我尝试使用

<?php include('../../includes/banner.php'); ?> 

它当然有错误的路径图像。由于上面的代码只是通过image /../ banner.jpg的图像路径粘贴到example.php中。当它应该是../../images/../banner.jpg 我该如何改变它,所以无论我深入多少目录,横幅图像路径是否正确?

就像FYI一样,我实际上正在为朋友更新旧网站。所有的文件和这样的(和代码,呃)的布局相当混乱。所以这就是为什么我一直在努力清理它,并使它更有组织,更容易更新。

感谢您的帮助

+7

只使用绝对路径。例如,'__DIR__'常量可以获得当前目录的完整路径,并且可以使用'dirname()'获取父目录等等...... –

+2

或在引导程序或配置文件中设置路径常量。 –

+0

请记住,您的php文件的文件路径与url路径不同。作为一项规则,您应该始终将您的资源调用(图像,CSS,js等)设置为域的根目录。例如'src =“/ images/banner.jpg”'。这样,你的PHP文件就不必跟踪他们的组织位置和资源的组织位置。 –

回答

0

这是的Joomla/WordPress的/ CakePHP的&其他开源的简单的想法使用。

使用:

需要(目录名(FILE __ __) '/图像/ imagename.jpg');

让我知道这是否工作。

谢谢, Munjal