0

我的图像位于 linux 主目录中。我必须访问这些图像并向用户展示。

当我试图在 css 文件中包含这样的位置时

background: url('/home/images/imagename.jpg');

它正在查找 htdocs /usr/local/apache/htdocs/home/images/imagename.jpg。

而且,我也尝试从主文件夹加载 xml 它也在做同样的事情

$test = file_get_contents ( '/home/test/test.xml' );

请建议我如何实现这一目标。

因为我在主目录中有不同的文件夹,其中包含图像和 xml 文件。我编写了逻辑来显示来自不同文件夹的图像,但我无法从家里访问。

4

3 回答 3

0

尝试这个

$file = file_get_contents('./imagename.jpg', FILE_USE_INCLUDE_PATH);

在您的 php.ini 文件中进行此设置

include_path=".:/home/images"

或者在运行时使用这个函数

set_include_path()  for same
于 2012-06-13T07:54:14.853 回答
0

在 CSS 文件中,路径来自“URL_ROOT”,类似于:http://www.myurl.tld/

路径来自“ file_get_contentsfile_system”,但 Apache 无权访问“HOME”。

您必须将要显示给用户的 IMAGES/XML 放在 Apache 可访问和可读的目录中;像“htDocs”:/var/www/

于 2012-06-13T07:53:12.883 回答
0

对于file_get_contents;

如果你在你的 php.ini 中设置open_basedir或(或作为apache 配置中的指令)设置为或(无论你使用哪个),那么这应该会有所帮助。include_pathphp_flag/home/images/home/test/

此外,您可能需要授予www-dataorapache用户权限。

对于 CSS 声明,您只能访问域根目录之上的文件。

于 2012-06-13T07:53:55.713 回答