[Решено]Загрузка файлов не в sites/default/files

Главные вкладки

Аватар пользователя VikiKaramel VikiKaramel 16 апреля 2013 в 9:56

Подскажите пожалуйста, можно ли загружать файлы не в стандартный sites/default/files, а вне сайта, например в такую директорию var/opt/scans и какими средствами это можно сделать, кроме php. Насколько я поняла, с помощью стандартного file api это невозможно сделать. Есть ли какие-то стандартные модули для загрузки и выгрузки именно из приватной директории?

Комментарии

Аватар пользователя Niklan Niklan 16 апреля 2013 в 11:11

"VikiKaramel" wrote:
var/opt/scans

А как вы будите обращаться к файлу. И зачем вы его хотите в ядре системы хранить?
Если это просто пусть site/var/opt/scans - тогда зачем вам это? Почему бы не сделать sites/defaul/files/opt/scans, а потом прилепить алиас на sites/defaul/files -> var.

ВОобще вариантов много. Но хранить файлы в папке сайта, но не в sites/default/files неправильно. Потом будет сложнее обновляться.

А так, ройте Token + File (Field) Paths

Аватар пользователя VikiKaramel VikiKaramel 16 апреля 2013 в 11:54

"Niklan" wrote:
И зачем вы его хотите в ядре системы хранить?

это не я хочу, так нужно делать из соображений безопасности хранения документов.

"Niklan" wrote:
А так, ройте Token + File (Field) Paths

спасибо, начала потихоньку Smile

Может быть вы подскажите, есть ли вообще возможность с помощью File (Field) Paths загружать файлы в ядро? нигде этого не могу найти.

Аватар пользователя void89a void89a 16 апреля 2013 в 12:03

"VikiKaramel" wrote:
это не я хочу, так нужно делать из соображений безопасности хранения документов.

если боитесь что файлы утащат по прямому адресу на них, то храните их в private file system

Аватар пользователя VikiKaramel VikiKaramel 16 апреля 2013 в 12:11

вроде это для друпал 7, у меня 6. да и есть четкое требование - хранить в определенной директории. вот уже несколько дней бьюсь.

Аватар пользователя VikiKaramel VikiKaramel 16 апреля 2013 в 12:46

спасибо Smile
если я правильно поняла принцип, то символьные ссылки не подходят, т.к. мне реально надо хранить файл в директории var/opt/scans. а не ссылку на нее.

Аватар пользователя void89a void89a 17 апреля 2013 в 9:19

"VikiKaramel" wrote:
если я правильно поняла принцип, то символьные ссылки не подходят, т.к. мне реально надо хранить файл в директории var/opt/scans. а не ссылку на нее.

Вы неправильно поняли.
Привожу пример:
Делаем ссылку на директорию /var/opt/scans
ln -s /var/opt/scans 'папка где лежит сайт'/sites/default/files/scans
все.
Теперь все файлы загруженные в 'папка где лежит сайт'/sites/default/files/scans будут физичиски находиться в директории /var/opt/scans

Аватар пользователя VikiKaramel VikiKaramel 18 апреля 2013 в 17:27

Проблема решена.
Сначала загрузила файл с помощью стандартного drupal form api в директорию по умолчанию sites/default/files, а затем с помощью php-функции rename переместила файл в директорию var/opt/regabonent