默认情况下,PHP可以访问Web根目录之外的文件,除非使用open_basedir指令(或安全模式,但希望您不在该框架中)进行限制.
原文链接:https://www.f2er.com/php/131860.html在VirtualHost配置中插入open_basedir限制通常是一种很好的做法.您可以指定多个目录,分别用:Linux和;在窗户上.
PHP_admin_value open_basedir /var/www/s/stage:/usr/share/PHP:/your/dir
要访问这些文件,请使用绝对路径或相对于所调用的PHP文件位置的路径. (所以你必须……/达到上面的水平).
还要确保将要写入的目录分配给Web服务器用户并具有写入权限.
否则你有第二个选择:
在www目录中,创建一个“image.PHP”文件,其内容类似于:
<?PHP header('Content-Type: image/png'); readfile("../img/" . $_GET['img']); ?>
并用你的图像调用
<img src="image.PHP?img=myimage.png" />
请注意,您的PHP文件不应该那么简单:)因为您可能想要处理多种图像格式(并为它们提供正确的标题),检查恶意文件路径/包含(您不想使用$_GET没有验证/消毒输入),额外的缓存等等.
但是,这应该可以让您了解如何定位问题.