ThinkPHP图片文件不存入Public目录可以访问到吗?

发布于 2022-09-11 16:36:01 字数 112 浏览 14 评论 0

有个需求,用户必须登录系统才能看到里面的图片,如果不登录就不能看到。把图片放入public目录下,那就对外了,任何人不登录都能看到;但是不放到public目录下,浏览器又访问不到图片文件,请问有办法解决吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

素罗衫 2022-09-18 16:36:01

可以在你 nginxapache 里配置你的受保护的图片目录默认跳转到你项目的指定文件,这个文件来做权限判断然后决定是否给显示图片。

稳稳的幸福 2022-09-18 16:36:01

如果要设置访问权限,还是走PHP方便, 用PHP写一个下载文件的接口,下面是demo

class Index extends Controller
{
    public function file()
    {
        $filename = $_GET['filename'];

        // 权限判断
        // dosomething

        // 发送文件
        $s = new sendfile();
        $file = '/data/file/' . $filename;
        try {
            $s->send($file);
        } catch (\Exception $e) {
            echo $e->getMessage();
        }
    }
}

http-send-file

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文