【发布时间】:2011-11-10 06:42:20
【问题描述】:
我正在创建一个网站,其中包括图片数据库。为简单起见,假设每张图片都可以有一个描述和一个文件路径,并将其存储在一个表中,就像这样
CREATE TABLE IF NOT EXISTS picture
(
ID INT NOT NULL AUTO_INCREMENT,
description VARCHAR(150),
file VARCHAR(150) NOT NULL,
PRIMARY KEY(ID)
) ENGINE=InnoDB;
我希望用户能够通过 ftp 将图片上传到 unix 帐户并创建自己的目录层次结构,而不是将所有这些图片存储在一个位置并分配任意文件路径。这样他们就可以使用 ftp/sftp/scp 来复制它们,或者使用 ssh 并使用其他 Linux 程序,例如 imagemagik 或 zip。或更改图片的权限(见下文)
现在我意识到如果用户决定删除图片或移动它们会导致问题,但我想有办法解决这个问题(数据库不保证图片会在那里,写保护图片,重新实现mv/ rm...)
我的数据库经验很少。我想知道这是否可取。具体来说,使用Linux file permisions作为数据库权限是否好。例如,用户Manderly 可以创建组MJ12 并向其中添加用户WSimons、BPage 和ANavarre,然后在网站上这些用户将可以访问这些图片(不是自动我知道,但通过 PHP 编写脚本)并且他们也可以 sftp/ftp/scp 它们。
【问题讨论】:
标签: php sql database permissions