0

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

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

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

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

我得到一个错误:没有这样的文件或目录- 只是提到,图像文件夹在根目录中,所以 /images 应该是有效的

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

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

它工作正常并显示图像。

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

4

2 回答 2

4

您将 Web URL 与文件系统路径混淆了。PHP 的基于文件的函数不适用于 URL,除非它们是 full+absolute http://blah/blah/blah/blah)。如果要使用绝对路径,则需要找出服务器上图像的真实路径。会是这样的

/home/site/example.com/docroot/images/etc...
                               ^---url starts here.
于 2011-10-23T20:24:02.607 回答
2

如果在 Linux 服务器上以 / 开头的路径。它将被处理,就好像您从 linux 安装的根目录打开目录一样。不相对于当前的 PHP 文件。路径开头的点表示当前目录。

于 2011-10-23T20:27:56.083 回答