我一直在处理我的网站结构,试图减少它的混乱,但我遇到了文件路径问题。
之前的站点结构
[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.php和view_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">