我正在构建一个网页,用户可以在其中上传图像。我将使用文件系统来存储我的图像。我想知道保存此类数据的最佳目录是什么?是/var/
目录吗?/srv/
目录?或者也许是其他目录?
答案1
选择目录路径之前需要考虑几个因素。最好的目录是具有足够容量来存储预期文件量、具有适当级别的保护并且最终没有被标准包覆盖或弄乱的风险的目录。
/srv/www
或者/srv/images
都很好并在 FHS 标准中指定同时/var/www
或/var/images
不推荐:
应用程序通常不得将目录添加到 /var 的顶层。仅当此类目录具有某些系统范围的含义时才应添加,并且应咨询 FHS 邮件列表。
答案2
将它们存放在您想要的任何地方!如果这是您的文件系统,那么这就是您的偏好。只需确保您拥有正确的权限即可。
编辑: 正如 @jlliagre 下面所述,上述内容有些夸张,因为有些文件系统位置绝对不适合存储这些图像。
如果您有多个用户并且希望他们每个人都有自己的图像目录,我会建议诸如/home/[user]/images
.
如果您希望在单个目录中轻松访问所有这些图像,那么我会做类似的事情/var/www/img/user_uploads/[user]
(或类似的事情,具体取决于操作系统)。
不过,权限是关键,因为您希望为每个用户和工作进程维护正确的访问级别,同时限制对每个用户应保持私有的公共访问。
默认情况下,某些具有公共权限的目录会继承到子目录。因此,如果您将这些图像存储在 中/home/[user]/public_html/images
,那么整个互联网都可以访问这些图像,除非您采取必要的步骤来防止这种行为。
话虽这么说,如果您将它们存储在私有目录(例如 )中/home/user/images
,那么 Web 服务器进程/用户将需要显式权限才能访问该目录。