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

使用PHP / Apache控制基于DB值的文件访问

发布时间:2020-12-13 13:31:25 所属栏目:PHP教程 来源:网络整理
导读:我想要的是 我正在制作一个系统,当用户上传图像时,它会转到文件夹图像,其中有两个图像副本,一个拇指和一个较大的副本. 现在,它就像在MySQL数据库中插入行一样完成,其中图像获取id,并且该行包含一个值,用于确定图像是否可供公众使用(1仅用于拇指可用,两者都是
我想要的是

我正在制作一个系统,当用户上传图像时,它会转到文件夹图像,其中有两个图像副本,一个拇指和一个较大的副本.

现在,它就像在MySQL数据库中插入行一样完成,其中图像获取id,并且该行包含一个值,用于确定图像是否可供公众使用(1仅用于拇指可用,两者都是2)以及图像的所有者(管理员).

我不想做的是,如果用户试图通过转到图像的URL来到达图像,并且数据库中的值表明它不应该是公开可用的,并且该用户的会话不是图像,(管理员未登录)它应该说未找到图像或拒绝访问.

我的想象

如果它可以用PHP完成我想象这样的事情:

//User tries to go to URL "images/IMAGE-ID_thumb.jpg"
if($img['access'] >= 1 || $_SESSION['admin_ID'] == $img['owner_ID']) {
  //Show image thumb
}
else {
  //Access denied
}

我可以隐藏.htaccess保护文件夹中的图像,制作一个接受URL变量的imgae_get.php,查看图像是否可用,如果是,则加载图像.我只是想避免去/重新编译图像和其他服务器耗电过程.

我的问题是,我可以像这样控制图像吗?有没有办法让PHP脚本显示为内部加载的图像?
或者可能有一些其他/更好的方式比通过PHP? (Apache也许?)任何建议都非常感谢.

//get_image.php

//Do session/mysql checks as outlined in your code above.

header("Content-Disposition: filename=$imagename.$filetype");
header("Content-type: $mimetype");
readfile(PROTECTED_IMAGE_FOLDER . "$imagename.$filetype");

(编辑:李大同)

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

    推荐文章
      热点阅读