加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在我的php应用程序中显示web根目录之外的图像?

发布时间:2020-12-13 16:38:33 所属栏目:PHP教程 来源:网络整理
导读:我使用apache服务器,linux在 PHP中使用Web应用程序.出于某些安全原因,我将文档和图像保留在Web根目录之外.当用户登录时,如何显示这些图像. 默认情况下,PHP可以访问Web根目录之外的文件,除非使用open_basedir指令(或安全模式,但希望您不在该框架中)进行限制.
我使用apache服务器,linux在 PHP中使用Web应用程序.出于某些安全原因,我将文档和图像保留在Web根目录之外.当用户登录时,如何显示这些图像.
默认情况下,PHP可以访问Web根目录之外的文件,除非使用open_basedir指令(或安全模式,但希望您不在该框架中)进行限制.

在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没有验证/消毒输入),额外的缓存等等.

但是,这应该可以让您了解如何定位问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读