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

前端之家收集整理的这篇文章主要介绍了使用PHP / Apache控制基于DB值的文件访问前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要的是

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

现在,它就像在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");

猜你在找的PHP相关文章