2012-01-13 190 views
0
這裏

超級noob問題...獲取相對路徑

文件來源: www.mysite.com/blah/blah/customdir/ajax/folder/file.php

,我想包括來源:

www.mysite.com/blah/blah/customdir/include/func/functions.php

所以我曾嘗試:

require_once('.../include/func/functions.php'); 
require_once('../include/func/functions.php'); 
require_once('././include/func/functions.php'); 

和大量的其他變化。我如何得到它?在每個文件上設置頂級路徑不是一個選項(這就是功能文件的用途...)

上面的每個給我一個錯誤: 警告:包括(././ include/func/functions.php)[function.include]:未能打開流:沒有這樣的文件或目錄在/home/mysite/public_html/mysite.com/customdir/ajax/folder/index.php在線3

警告:包含(././ include/func/functions.php)[function.include]:無法打開流:/home/mysite/public_html/mysite.com/customdir/ajax/folder/中沒有這樣的文件或目錄第3行的index.php

警告:include()[function.include]:無法打開'././ include /func/functions.php'(include_path ='。:/ usr/lib/php:/ usr/local/lib/php')位於/home/mysite/public_html/mysite.com/customdir/ajax/folder/第3行的index.php

回答

2

有很多方法可以包含文件。但是,似乎你正在嘗試相對路徑。在這種情況下,請嘗試:

require_once '../../include/func/functions.php'; 

我鼓勵你learn more about your options for including files。但簡而言之,每個../都會帶您回到一個目錄。 ./代表當前目錄。否則,你總是可以使用絕對路徑,甚至可以使用混合動力車。

+0

它的工作原理。謝謝。爲什麼需要兩倍的時間?瘸腿......試了很多東西。 – phpmeh 2012-01-13 19:58:10

+0

導致它是當前腳本上方的兩個目錄。查看更新。 – 2012-01-13 19:59:38

0

你在apache下運行嗎?使用getenv(「DOCUMENT_ROOT」)並從那裏設置你的路徑。