首页 > 解决方案 > 在 public_html 之外存储图像

问题描述

我有一台服务器,想将图像存储在“public_html”文件夹之外。

主机是 Hostinger.com。这个想法是在“public_html”之外有一个文件夹“private/uploads”来存储我的图像。由于图像具有合理的数据,我不能将其公开给所有人。我的 php 代码正确地将图像上传到文件夹

$destination = "../private/uploads/" . $name;
move_uploaded_file($_FILES['image']['tmp_name'], $destination);

但是当我尝试使用以下方式访问它时:

<img src="../private/uploads/<?= $item['image'] ?>">

它不起作用。这有什么原因吗?我不能在“public_html”之外存储图像吗?使用 Hostinger 的人有同样的问题吗?是否有任何将图像安全存储在服务器中的建议?

编辑:我已经尝试将图像存储在其他地方,加载图像的唯一地方是“public_html”文件夹中。

标签: phphtmlapacheserverlocalhost

解决方案


为什么不。您仍然可以将其保存到 public_html 文件夹中,将可访问性更改为私有..

没有人将能够从外部访问该文件夹..

为此,您可以使用 htaccess 文件来限制对文件夹的所有访问。

这是执行此操作的代码段

RewriteEngine On
RewriteRule (^|/)folderName(/|$) - [F]

如何创建 htaccess 文件 非常简单!导航到您的根文件夹,然后使用.htaccess创建一个文件名


推荐阅读