PHP opendir适用于相对路径而不是绝对路径?

时间:2011-10-23 20:19:59

标签: php relative absolute opendir

问题在于: 在一个地方我使用相对路径来加载某个文件夹中所有文件的名称:

if ($handle = opendir('images/uploads/form_id_1103/1'))

这工作正常,但如果我将其更改为:

if ($handle = opendir('/images/uploads/form_id_1103/1'))

我收到错误: 中没有此类文件或目录 - 只是提到,images文件夹位于根目录中,因此/ images应该有效

与此同时,如果我显示该(“不存在”)文件夹中的图像

<img src="/images/uploads/form_id_1103/1/test.jpg">

它工作正常并显示图像。

我不能使用相对路径,因为我正在使用apache的mod_rewrite将URL转换为SEO友好的。

提前致谢!

2 个答案:

答案 0 :(得分:4)

您将Web URL与文件系统路径混淆。 PHP的基于文件的函数不能与URL一起使用,除非它们是完整的+绝对http://blah/blah/blah/blah)。如果要使用绝对路径,则需要在服务器上找出图像的真实路径。它就像

/home/site/example.com/docroot/images/etc...
                               ^---url starts here.

答案 1 :(得分:2)

如果在Linux服务器上使用/启动路径。它将被处理,就好像从linux安装的根目录打开目录一样。与当前的PHP文件无关。路径起点上的一个点表示当前目录。