服务器真实路径

时间:2012-04-13 11:11:07

标签: php

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

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

我的文件夹结构如下:

  

网站/开发/ UPLOADEDFILES / 'username'folder /' 位置”   文件夹/ file.xml

我把它放在一起尝试让我走上正轨:

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

但是我收到以下错误:

  

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

我确信我在这里犯了初学者的错误,但我想至少试一试。我只是想知道是否有人可能会请这一点,让我知道我哪里出错了。

非常感谢

2 个答案:

答案 0 :(得分:5)

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

绝对路径:/var/www/(始终以/开头)

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

如果您对/var/www/感到满意,请转到/var/www/

如果你向var/www/提出问题,请致<directory_where_you_are>/var/www/

你在./././中也有错误。

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

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

答案 1 :(得分:0)

如果要获取相对于php文件的文件的绝对路径,通常更容易执行dirname(__FILE__).'/path/to/file'之类的操作,因为它比使用相对路径的chdir更容易预测。您也可以回调它以进行调试。

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

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

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

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