我的图像位于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' );
请建议我如何实现这一目标。
因为我在主目录中有不同的文件夹,其中包含图像和xd文件。我写了逻辑来显示来自不同文件夹的图像,但我无法从家中访问。
答案 0 :(得分:0)
在CSS文件中,路径来自“URL_ROOT”,类似于:http://www.myurl.tld/
在file_get_contents
中,路径来自“file_system”,但Apache不能访问“HOME”。
您必须将要显示给用户的IMAGES / XML放在Apache可访问和可读的目录中;比如“htDocs”:/var/www/
答案 1 :(得分:0)
代表file_get_contents
;
如果您将php.ini中的open_basedir
或include_path
(或apache配置中的php_flag
指令)设置为/home/images
或/home/test/
(以您为准) “正在使用”然后这应该有所帮助。
此外,您可能需要授予www-data
或apache
用户权限。
对于CSS声明,您只能访问域根目录之上的文件。
答案 2 :(得分:0)
试试这个
$file = file_get_contents('./imagename.jpg', FILE_USE_INCLUDE_PATH);
在php.ini文件中进行此设置
include_path=".:/home/images"
或在运行时使用此功能
set_include_path() for same