2012-09-08 50 views
0

我一直在努力使自己的网站结构尽量减少混乱,但我遇到了文件路径问题。设置页面的绝对路径

网站结构之前

[folder] : css 
[folder] : js 
[folder] : images 
[folder] : include 
    |---> : header.php 
[file] : index.php 
[file] : view_inventory.php 
.... 

网站结构后

[folder] : css 
[folder] : js 
[folder] : images 
[folder] : include 
    |---> : header.php 
[folder] : view 
    |---> : inventory.php 
[file] : index.php 
.... 

正如你可以看到我已经决定把视图文件将它们放置在自己的文件夹

的与此问题是,这两个指数。 PHPview_inventory.php使用包括/的header.php文件

包括/的header.php文件具有位于图像/ logo.php,图像的路径的报头的标志如果index.phpview_inventory.php都在同一个文件夹中,但由于它们不是视图/ inventory.php中的文件将具有不正确的图像路径。

我曾经想过为图像等文件(例如localhost/sites/bk/images/logo.png)定义完整路径,但这不是个好主意,因为我可能决定将文件上传到服务器上,服务器地址可以不断变化..等等

解决这个问题的最好方法是什么?

回答

2

使用绝对路径!

在你的index.php做:

define('ROOT', dirname(__FILE__)); 

当你要在HTML时,包含头文件,

include ROOT . '/include/header.php' 

而且,想用一个图像,使用绝对来自webroot的路径:

<img src="/images/your_image.png"> 
<img src="/images/your_image.png"> 
+0

webroot不能正常工作,当我需要文件位于'lo时,它会转到'localhost/images/logo.png' calhost/sites/bk/images/logo.png' –

+0

如果http://localhost/images/logo.png在浏览器中显示徽标,则将代码编写为! – JvdBerg

+0

没关系,改变根路径从htdocs到htdocs/sites/bk / –