Так вот. Mime судя по всему формируется браузером. В итоге выяснилось, то разные браузеры по разному генерируют этот тип. Поэтому разработчики в $mimes просто ввели массивы со всеми возможными вариантами.
Я немного поковырял и выяснилось, что FireFox следующие файлы отдает как application/octet-stream, поэтому типы должны быть такими:
- Код: Выделить всё
'gz' => array('application/octet-stream', 'application/gzip'),
'rar' => 'application/octet-stream',
'7z' => 'application/octet-stream',
'flv' => 'application/octet-stream'
А вот прописанный
- Код: Выделить всё
'gz' => 'application/x-gzip',
почему-то не работает в FireFox. (Есть у меня вообще подозрения, что браузер при определении типа учитывает установленные программы в системе.)
Итак, чтобы не париться с этими mime, в uploads следует вообще отключить её проверку и тупо проверять расширение загружаемого файла. Таким образом в файле system\libraries\uploads.php переписываем функцию is_allowed_filetype():
- Код: Выделить всё
function is_allowed_filetype()
{
if (count($this->allowed_types) == 0 OR ! is_array($this->allowed_types))
{
$this->set_error('upload_no_file_types');
return FALSE;
}
# MaxSite CMS
# убираем к чертям проверку на mime - пусть буржуи пользуются :-E
# теперь так: проверяется file_ext с тем, что в allowed_types
# если есть, значит разрешено, иначе false
# убрать точку из расширения
return in_array(str_replace('.', '', $this->file_ext), $this->allowed_types);
}
Теперь просто указываем нужные allowed_types.
