2010-04-23 109 views
3

我需要更改「相對包含路徑」所基於的文件夾。在PHP中更改基本路徑

我可能目前是 「在」 在此文件夾: C:\ ABC \ XYZ \ 123 \ ZZZ

在這種情況下,路徑 「../../Source/SomeCode.php」 會實際上在這個文件夾中: C:\ ABC \ XYZ \ Source

和realpath('。')would ='C:\ ABC \ XYZ \ 123 \ ZZZ';

但是,如果真實路徑( '')爲 「C:\一些\其它\文件夾」

那麼在這種情況下,路徑 「../../Source/SomeCode.php」 實際上請在此文件夾中: C:\ Some \ Source

如何更改由'。'表示的文件夾。在realpath()中?

像這樣:

echo ('BEFORE = '.realpath('.')); // BEFORE = C:\ABC\XYZ\123\ZZZ 
// Some PHP code here... 
echo ('AFTER = '.realpath('.')); // AFTER = C:\Some\Other\Folder 

如何變更所代表的文件夾,通過真實路徑所看到() ''?

回答

4

功能chdir()這項改變當前的工作目錄。 例如:

echo ('BEFORE = '.realpath('.')); // BEFORE = C:\ABC\XYZ\123\ZZZ 
chdir('C:/Some/Other/Folder'); 
echo ('AFTER = '.realpath('.')); // AFTER = C:\Some\Other\Folder 
+1

請勿使用反斜槓。使用正斜槓。它適用於* all *操作系統。 – wallyk 2010-04-23 01:56:14

+0

嗯,是的,但C:\不會,所以它並不重要。 – 2010-04-23 02:12:31

+0

這很重要,因爲它會影響可移植性。除非您有絕對的要求來引用驅動器盤符,否則您應該使用Unix風格的路徑並讓PHP爲您翻譯它們。這就是爲什麼功能在那裏。 – awgy 2010-04-23 12:53:32

1

使用chdir()函數。

+0

+1謝謝,我學到了一些新東西! – alex 2010-04-23 01:59:42