假如在根目录下有如下文件
html(根目录)下有3个文件夹 images message styles
html
--images
--a.jpg
--message
--liuyan.php
--styles
--students.css
--header.php
--footer.php
--index.php
liuyan.php里有如下代码
include ("../header.php");
header.php里有如下代码
<img src='/images/a.jpg' />
如果我写成
<img src='images/a.jpg' />
那么在liuyan.php代码里就会在自己的目录(message目录)里找images目录,然后再找a.jpg。这是肯定找不到的,所以图片就找不到了,同理,css文件或url指向就都错
了。
如果我写成
<img src='/images/a.jpg' />
那么就会去根目录的images下找,就能找到了,无论你是在哪级目录,哪个地方引用,这样都能找到。
当然,如果你在每个目录下都有个header.php或footer.php这样也可以解决问题,但问题复杂度就是数量级的增加了。
同时,写好的header.php里又必须用根目录的形势来写,即刚才的后者。include的意思其实就是把所include的页面的代码复制到这个php里来。可想而知,如果header里有个 src='images/..'的代码片段,被include后就会去引用该段代码的同级目录找images文件夹,这是找不到的,也是错误的。而如果都有些绝对路径(相对于根站点的绝对路径)就不会有问了,Include后还是都是去根目录下的images目录里找。这样就没问题了。也不必每个文件夹都重复写header了。
呵呵,自己的一点心得记录一点。也希望对大家有点用。路径和编码可都是web编程里的难点。呵呵~