Выбор файла из каталога

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
SunDoctor
Сообщения: 9
Зарегистрирован: 2011.02.01, 23:31

Выбор файла из каталога

Сообщение SunDoctor » 2011.02.01, 23:34

Делаю форму, и одно из полей формы - это файл, точнее адрес файла. Файл загружать не надо - он уже есть на сервере. Его нужно просто выбрать. Подскажите - как лучше это сделать? Может быть в yii есть диалог для выбора файлов?

Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

Re: Выбор файла из каталога

Сообщение sergebezborodov » 2011.02.01, 23:49

делаешь функцию, которая выдает список загруженных файлов в папке на сервере, все это красиво оформляется в интерфейсе и js устанавливается значения в hidden поле где название файла
по POST потом валидируем название файла, чтобы левого шлака не подсунули
A passion to perform
http://sergebezborodov.com

SunDoctor
Сообщения: 9
Зарегистрирован: 2011.02.01, 23:31

Re: Выбор файла из каталога

Сообщение SunDoctor » 2011.02.01, 23:59

А если файлов много и они разбиты по папкам? В один список их лепить как-то неправильно.

karagodin
Сообщения: 26
Зарегистрирован: 2010.07.03, 06:26
Контактная информация:

Re: Выбор файла из каталога

Сообщение karagodin » 2011.02.02, 06:04

SunDoctor писал(а):А если файлов много и они разбиты по папкам? В один список их лепить как-то неправильно.
выводить в виде TreeView. если подпапок и файлов много, то лучше кешировать, чтобы каждый раз не обходить всё.

Аватара пользователя
MaxOtto
Сообщения: 139
Зарегистрирован: 2010.01.30, 17:44

Re: Выбор файла из каталога

Сообщение MaxOtto » 2011.02.02, 14:55

Всем привет!

Есть аналогичная задача - брать ссылки на файлы из совершенно отдельного ФТП-хранилища, хранить их в привязке к строкам некоторой модели и отображать для скачки файлов с ФТП-сервера.

Видится это примерно так:
- при формировании ссылки показывать структуру ФТП (на него заходим от имени отдельного пользователя - HTTP-сервера). Использовать TreeView и какую-либо библиотеку работы с FTP. Структура на ФТП-сайте живет по своим законам (анархия, одним словом) и для сохранения целостности ссылок придется вводить ограничения на переименования папок/файлов (пока - на уровне разъяснений пользователям, что переименовывать - нехорошо).
- хранить ссылку в базе - средствами YII, как обычно.
- отображать ссылку на скачку. Тут возможны 2 варианта, поскольку права пользователей на сайте и на ФТП у меня могут различаться и кто-то может прицепить ссылку на файл, который другому пользователю по правилам ФТП-сервера может быть недоступен.
В первом случае, не обращая внимания на разницу прав, разрешить пользователю скачать файл, раз уж его ссылка опубликована . Реальная рабочая ссылка на скачку будет указывать на HTTP-сервер, который незримо для пользователя будет отдавать ему файл с ФТП-сервера.
Во втором случае заставлять пользователя заходить в ФТП-клиент и пусть он скачивает файл в соответствии с показанной ссылкой и с использованием своих прав на ФТП.

Я тоже нахожусь в процессе обдумывания идеи и пока не спеша изучаю вопросы взаимодействия с ФТП.

Пишу здесь в надежде, что кто-то подскажет интересные идеи, как это реализовать, с использованием каких готовых компонентов.

Ответить