作者jscorpio1 (我 天蠍)
看板PHP
标题[请益] require的路径问题
时间Wed Jul 31 14:27:58 2013
/
├include
│├layout
││├head.php -> require header, menu
││├header.php -> <link.... href="include/css/main.css">
││├menu.php
││└footer.php
│└css
│ └main.css
├news
│├index.php -> require head, footer
├index.php -> require head, footer
└display.php
根目录下的index,layout跟css都正常
根目录的index有一个超连结,连到news/index.php
<a href="news/index.php">news</a>
连过去之後,layout有出来,但就是css不行 @_@
本以为是路径的问题
试过把 include/css/main.css 改为 ../css/main.css
结果连原本正常的 根目录index也读不到css了,但layout还是正常的
但是,如果把根index的连结改成display
而在display里 require news/index.php 就都正常显示
请问这是什麽原因?
另外,请问reqiure/include的时候,到底该以谁为出发点?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.62.160
※ 编辑: jscorpio1 来自: 140.120.62.160 (07/31 14:39)
1F:→ alpe:require CSS !? 07/31 14:47
2F:→ jscorpio1:css是写在html <head>里,那个档案名称是header.php 07/31 14:53
3F:→ Madevil:include/require 是後端的事, 路径当然是需要实体路径 07/31 15:25
4F:→ Madevil:问题是你根目录的 index.php 在 include 那个 header.php 07/31 15:26
5F:→ Madevil:它里面那行 link 到 css 的路径该指到哪里 07/31 15:27
6F:→ Madevil:看来把 link 那行路径改成 /include/css/main.css 应该可 07/31 15:28
7F:→ Madevil:以解决, 相对路径和绝对路径这部分请找些资料参考会有帮助 07/31 15:30
8F:→ Madevil:另外一点... link 指定路径的 attribute 是 href 才对 07/31 15:31
※ 编辑: jscorpio1 来自: 140.120.62.160 (07/31 15:50)
9F:→ jscorpio1:请问为什麽直接连结不行,而透过display来require就ok?? 07/31 16:13
10F:→ Madevil:什麽是 "透过display来require"?? 你要不要先把观念弄清楚 07/31 16:19
11F:→ Madevil:前後台的差别?? 07/31 16:19
根目录index.php
<a href="news/index.php"> news </a>
=>版面layout有出现,但是 css没有成功套用
如果把 根目录index.php 的超连结改成
<a href="display.php"> news </a>
而
根目录display.php的内容是
<?php
require 'news/index.php';
?>
=>版面layout跟css则完全正常
另外,我还真不知道前後台的差别,M大可以给个超连结吗?
感谢M大热心回答
※ 编辑: jscorpio1 来自: 140.120.62.160 (07/31 16:52)
12F:→ Madevil:在这个案例里面 php 只是负责产生 html 把结果丢到前端 07/31 17:06
13F:→ Madevil:然後浏览器接到 html 以後才去解析产生读者看到的内容 07/31 17:06
14F:→ Madevil:你现在问题是出在於 html 汇入 css 的路径, 所以这是前端 07/31 17:09
15F:→ Madevil:因为根目录的 index.php 或是 display.php 都是位在根目录 07/31 17:10
16F:→ Madevil:但是 news/index.php 是位在 news/ 下面, 所以跟你的 css 07/31 17:10
17F:→ Madevil:的相对路径就不一样, 所以比较简单的方式是设定成绝对路径 07/31 17:11
18F:→ Madevil:/include/css/main.css 这样就找的到 07/31 17:12
19F:→ xxxzzz:"出不来的网址"跟"include/css/main.css" 比对就知道原因了 07/31 22:48