[請益] require的路徑問題

看板PHP作者 (我 天蠍)時間12年前 (2013/07/31 14:28), 編輯推噓0(0019)
留言19則, 4人參與, 最新討論串1/1
/ ├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)

07/31 14:47, , 1F
require CSS !?
07/31 14:47, 1F

07/31 14:53, , 2F
css是寫在html <head>裡,那個檔案名稱是header.php
07/31 14:53, 2F

07/31 15:25, , 3F
include/require 是後端的事, 路徑當然是需要實體路徑
07/31 15:25, 3F

07/31 15:26, , 4F
問題是你根目錄的 index.php 在 include 那個 header.php
07/31 15:26, 4F

07/31 15:27, , 5F
它裡面那行 link 到 css 的路徑該指到哪裡
07/31 15:27, 5F

07/31 15:28, , 6F
看來把 link 那行路徑改成 /include/css/main.css 應該可
07/31 15:28, 6F

07/31 15:30, , 7F
以解決, 相對路徑和絕對路徑這部分請找些資料參考會有幫助
07/31 15:30, 7F

07/31 15:31, , 8F
另外一點... link 指定路徑的 attribute 是 href 才對
07/31 15:31, 8F
※ 編輯: jscorpio1 來自: 140.120.62.160 (07/31 15:50)

07/31 16:13, , 9F
請問為什麼直接連結不行,而透過display來require就ok??
07/31 16:13, 9F

07/31 16:19, , 10F
什麼是 "透過display來require"?? 你要不要先把觀念弄清楚
07/31 16:19, 10F

07/31 16:19, , 11F
前後台的差別??
07/31 16:19, 11F
根目錄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)

07/31 17:06, , 12F
在這個案例裡面 php 只是負責產生 html 把結果丟到前端
07/31 17:06, 12F

07/31 17:06, , 13F
然後瀏覽器接到 html 以後才去解析產生讀者看到的內容
07/31 17:06, 13F

07/31 17:09, , 14F
你現在問題是出在於 html 匯入 css 的路徑, 所以這是前端
07/31 17:09, 14F

07/31 17:10, , 15F
因為根目錄的 index.php 或是 display.php 都是位在根目錄
07/31 17:10, 15F

07/31 17:10, , 16F
但是 news/index.php 是位在 news/ 下面, 所以跟你的 css
07/31 17:10, 16F

07/31 17:11, , 17F
的相對路徑就不一樣, 所以比較簡單的方式是設定成絕對路徑
07/31 17:11, 17F

07/31 17:12, , 18F
/include/css/main.css 這樣就找的到
07/31 17:12, 18F

07/31 22:48, , 19F
"出不來的網址"跟"include/css/main.css" 比對就知道原因了
07/31 22:48, 19F
文章代碼(AID): #1H-AvozY (PHP)
文章代碼(AID): #1H-AvozY (PHP)