Re: [請益] 檔案路徑問題
※ 引述《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
05/29 09:30, 1F
→
05/29 17:55, , 2F
05/29 17:55, 2F
討論串 (同標題文章)