Загрузка разных типов файлов в KCFinder

vertigo

Новичок
Здравствуйте,

Я относительный новичек в PHP. Настраиваю KCFinder для работы с CKFinder. Возникла необходимость в следующем функционале:

- На сайт надо грузить разные типы файлов, - .pdf, .doc, .docx и др. В KCFinder по умолчанию разрешено загружать img и flash. Хотелось бы разрешить и другие типы файлов.

Нашел следующие инструкции:

http://kcfinder.sunhater.com/docs/install
http://kcfinder.sunhater.com/docs/integrate#types

Пытался, пробовал, писал. Дошло до банального:

Код:
class type_doc {
    public function checkFile($file, array $config) {
        return true;
    }
}
Но он все равно не разрешает грузить.

Кто разбирался с KCFinder (не путать с CKFinder), подскажите, пожалуйста.
 

hell0w0rd

Продвинутый новичок
Не разрешает где? Я так понимаю что любая оболочка вокруг загрузки файлов работает на стороне клиента и на стороне сервера. Проверьте разрешения на строне клиента и покажите код, а не обрывок. Нам догадаться надо где у вас может быть ошибка?
 

vertigo

Новичок
Идём сюда.

Здесь читаю следующее:

Код:
'types' => array(
   // The folowing directory types are just for an example
   'files'     => "",
   'flash'     => "swf",
   'media'     => "swf flv avi mpg mpeg qt mov wmv asf rm",
   'misc'      => "! pdf doc docx xls xlsx",
   'images'    => "*img",
   'mimages'   => "*mime image/gif image/png image/jpeg",
   'notimages' => "*mime ! image/gif image/png image/jpeg"
),
The Directory Types represented as associative array. The keys of the array defines directory names of the types. These directories will be created in the main upload directory. The values of the array defines the type of the files which can be uploaded in each directory. If the value is an empty string (Example: files), files of any type can be uploaded. There are three different value formats you can use:

Space separated list of allowed extensions. (Example: media)
Denied files extension list - space separated list that begins with "!" character. (Example: misc)
Special types - types that begin with "*" character.
*img - Images which can be handled by GD extension. (Example: images)
*mime - List of MIME types of allowed files. Works only if Fileinfo PHP extension is available. (Example: mimages)
*mime ! - List of MIME types of denied files. (Example: notimages)
Попроовал добавить в этот массив требуемые типы файлов - загрузка через KCFinder не прошла. Ниже под указанных текстом на сайте есть линк на инструкцию по настройке KCFinder на загрузку любых типов файлов. Она находится здесь.

Делаю по инструкции:

1. Создаю в файле конфиг в массиве types следующее:

Код:
'office'  =>  "*doc docx"
2. Создаю файл type_doc.php в core/types.
3. Создаю внутри type_doc.php требуемый класс type_doc с обработчиков расширения и mime-type. В случае, если это действительно word'овский документ по расришению и МИМу - возвращается true. Иначе false. Но, это не срабатывает.
4. Пот, кровь и гнев Божий, но спустя много часов стараний результата нету.
5. Психую, привожу класс к такому виду:

Код:
class type_doc {
    public function checkFile($file, array $config) {
        return true;
    }
}
И оно не работает.

А не работает где? Там, где мы выбираем "загрузка изображения" в CKEditor, когда редактируем статью. После этого появляется дивчик с кнопкой "Выбор на сервере". При нажатии на эту кнопку мы попадает в окно загрузчика уже KCFinder'a, где мы, например, может свободно грузить .swf и jpg/png и т.д.

Согласно приведенным ссылкам мои действия это " the only thing you have to do", но видимо не only. Где выпрямлять руки?
 

vertigo

Новичок
у вас есть такая строка?
Привожу содержание своего массива types из config.php KCFinder'a:

Код:
'types' => array(
        'files'  =>  "",
        'flash'  =>  "swf",
        'images'  =>  "*img",
        'file'    =>  "",
        'media'  =>  "swf flv avi mpg mpeg qt mov wmv asf rm",
        'image'  =>  "*img",
    ),
Т.е. нет. В инструкции указано, что я таким образом как раз запрещаю загрузку этих типов файлов.

Или я что-то неправильно понял?
 

vasinsky

Новичок
ну могу ошибаться, на сколько я понял - запрещает такая строка
=> "! pdf doc docx xls xlsx",
 

vertigo

Новичок
ну могу ошибаться, на сколько я понял - запрещает такая строка
=> "! pdf doc docx xls xlsx",
Да, так у меня как раз такой строки и нету =) Конечно, я это в первую очередь проверил)

Вопрос остаётся открытым) Гугл, кстати, не даёт практически никаких советов. Все линки только о CKFinder, но он платный =(
 
Сверху