Я создаю веб-сайт, который, помимо прочего, базы данных изображений. Для простоты скажем, что каждое изображение может иметь описание и путь к файлу, и это сохраняется в таблице, например,
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 в качестве разрешений базы данных. Например, пользователь Manderly
может создать группу MJ12
и добавить к ней пользователей WSimons
, BPage
и ANavarre
, тогда на веб-сайте эти пользователи будут иметь доступ к этим изображениям (я не знаю, но с помощью сценариев через PHP) И они могут также sftp / ftp / scp их.