Re: [請益] 檔案路徑問題

看板PHP作者 (好多事...)時間15年前 (2009/05/29 01:22), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《ZFang (無格調)》之銘言: : 請教各位版友 : 目前小的正在練習 php 寫網頁, : 遇到一個好像是很普通的問題。 : 問題描述如下: : 環境:windows XP + XAMPP(Apache Friends) : 文件放在 ???\xampp\htdocs 下。(???即安裝目錄) : 小的在裡頭再開一個資料夾 A,將自己寫的網頁放在裡頭。 : 在 A 裡頭有個 B 資料夾專門放些常用函式檔。 : 然後想在 A 下的網頁使用 require_once()引用 B 的函式檔。 : 我可以寫 require_once("B/???.php"); 正確引用到 ???.php。 : 但當我用根目錄為基準的寫法 reqire_once("/A/B/???.php"); 卻沒辦法引用到 ???.php。 : 請問各位小的究竟是哪不對了??? 通常在存取檔案時,有兩種表示方法 一個為絕對路徑,如 C:\WINDOWS\system32 (Windows) 或 /var/tmp (UNIX) 之類的 另外一個就是相對路徑,如我現在在 /root/, 打 test/test.sh 表示是在當前目錄(/root)底下的 test/test.sh, 所以絕對路徑表示就是 /root/test/test.sh 所以 /A/B/???.php 在 Windows 下當然會永遠沒這個東西 (因為 Windows 不認得啊) 通常用相對路徑就好,像 B/???.php 就可以了 除非特殊情況,否則盡量少在 Windows 下的 php 用絕對路徑,因為空白有時很煩 UNIX 就還 ok,因為 UNIX 路徑通常是絕對不能包含空白 然後養成一個好習慣,不管在那個作業系統下架設及撰寫 php, 目錄和檔案名稱不要有空白出現,用 _ 代替 這樣會省去不少麻煩 ---- 當然你也有可能是認為 /A/B/???.php 是相對於網站 domain name 或 IP 不過因為 php 是在 server 端先執行好的,所以相對於 server 來說 php 的檔案是本機執行的,當然要用作業系統的目錄關係, 等執行好後再送給 client 端才是相對於網站的 domain name 或 IP -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.39.243 ※ 編輯: michaelclow 來自: 140.116.39.243 (05/29 01:25)

05/29 09:30, , 1F
解釋得很詳盡,都懂了。原來是 OS 的問題呀~謝謝
05/29 09:30, 1F

05/29 17:55, , 2F
怎麼覺得解釋怪怪的>.<
05/29 17:55, 2F
文章代碼(AID): #1A7iWwcs (PHP)
討論串 (同標題文章)
文章代碼(AID): #1A7iWwcs (PHP)