1

我想知道是否有人可以帮助我。

我正在尝试检索我正在构建的图片库脚本中使用的 xml 文件的文件路径。

我的文件夹结构如下:

网站/开发/UploadedFiles/'用户名'文件夹/'位置'文件夹/file.xml

我把这个放在一起,试图让我走上这条路:

<?php
chdir('var/www/');
echo realpath('./././file.xml');
?> 

但我收到以下错误:

警告:chdir() [function.chdir]: 第 2 行 /homepages/2/d333603417/htdocs/development/real.php 中没有这样的文件或目录 (errno 2)

我确定我在这里犯了一个初学者的错误,但我想至少尝试一下。我只是想知道是否有人可以看看这个,让我知道我哪里出错了。

非常感谢

4

2 回答 2

5

这是因为有两种类型的 Unix 路径:

绝对路径:(/var/www/总是以 开头/

相对路径:(var/www/相对于你所在的地方。/开头没有)

如果你 chdir 到/var/www/你得到/var/www/.

如果你 chdir 到var/www/你 chdir 到<directory_where_you_are>/var/www/

你也有一个错误./././

./- 表示您的当前目录。使用./././会将您留在当前目录中。

如果您想按目录树使用../(表示父目录)向上移动。

于 2012-04-13T11:16:06.797 回答
0

如果你想获得一个文件相对于你的 php 文件的绝对路径,通常更容易做类似dirname(__FILE__).'/path/to/file'的事情,因为它比使用 chdir 和相对路径更容易预测。您也可以只回显它以进行调试。

所以在你的情况下,看起来你可能想要这样的东西:

$file = dirname(__FILE__)."/UploadedFiles/$username/$location/file.xml";

如果需要向上遍历目录,可以使用多个目录名:

$file = dirname(dirname(__FILE__))."/UploadedFiles/$username/$location/file.xml";
于 2012-04-13T11:20:08.737 回答