设置页面的绝对路径


setting the absolute path for pages

我一直在处理我的网站结构,试图减少它的混乱,但我遇到了文件路径问题。

之前的站点结构

[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
....

正如你所看到的,我已经决定将视图文件分组,并将它们放入自己的文件夹中

问题是index.phpview_inventory.php都使用include/header.php文件

include/header.php文件的标头徽标位于images/logo.php处,如果index.phpiew_inventory.php都在同一文件夹中,则图像的路径不会有问题,但由于它们不是view/inventory.php中的文件,因此图像路径将不正确。

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

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

使用绝对路径!

在你的index.php do:

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

当你想包括头文件时,

include ROOT . '/include/header.php'

而且,当在html中并且想要使用图像时,请使用来自webroot的绝对路径:

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