在PHP中更改基本路径

3

我需要更改“相对包含路径”所基于的文件夹。

我当前可能在这个文件夹中:

C:\ABC\XYZ\123\ZZZ

在这种情况下,路径“../../Source/SomeCode.php”实际上位于此文件夹中:

C:\ABC\XYZ\Source

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

但是,如果realpath('。')为“C:\ Some \ Other \ Folder”

则在这种情况下,路径“../../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

如何更改由realpath()表示的“.”所代表的文件夹?

3个回答

6
函数chdir()可以实现此功能。例如:
echo ('BEFORE = '.realpath('.')); // BEFORE = C:\ABC\XYZ\123\ZZZ
chdir('C:/Some/Other/Folder');
echo ('AFTER = '.realpath('.')); // AFTER = C:\Some\Other\Folder

1
不要使用反斜杠,而要使用正斜杠。这适用于所有操作系统。 - wallyk
嗯,没错,但是C:\不会,所以这并不重要。 - Arda Xi
这很重要,因为它会影响可移植性。除非你有绝对必要引用驱动器字母,否则你应该使用Unix风格的路径,并让PHP为你进行翻译。这就是该功能存在的原因。 - awgy

1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接