我想知道是否有人可以帮助我。
我正在尝试检索我正在构建的图片库脚本中使用的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行
我确信我在这里犯了初学者的错误,但我想至少试一试。我只是想知道是否有人可能会请这一点,让我知道我哪里出错了。
非常感谢
答案 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";