Nerion 0 10/13/2008 01:19 PM Здравствуйте, есть вопрос :В общем хочу сделать на форуме возможность прикреплять "повторы\файлы игры The Lord of The Rings : The Battle for Middle-Earth II" все повторы весят по 15-30 кбайт...Но дело в том что я незнаю какой у них Mime-тип, уже многие типы перепробовал ставить, не работает....Расширение повторов\файлов .BfME2Replay Если подскажите как мне сделать возможность чтобы на форум могли заливать файлы с таким расширением, буду примного благодарен :) Вот например здесь, сделан даже модуль какой-то для этого :<- Ссылка показывающая модуль прикрепления реплея -> А мне хотябы просто прикреплять их....<- Ссылка показывающая прикрепление реплея просто так -> Thx in advance :) Share this post Link to post
andaril 4 10/13/2008 01:36 PM Администрирование форума не освобождает чтения документации. Банально потыкаться по админке и поискать думаю не так сложно. Share this post Link to post
Nerion 0 10/13/2008 02:12 PM Вообще то я уже каждый миме тип перепробовал.... Share this post Link to post
andaril 4 10/13/2008 02:28 PM unknown/unknown модуль не относится к майм-типам.реализация отдельного модуля уже другой вопрос.для прикрепления хватит расширения и этого майм типа Share this post Link to post
Nerion 0 10/13/2008 08:16 PM Это я тоже ставил =))) реакция все таже, Неудачная загрузка. Вам запрещено загружать такой тип файлов.Про доступ к загрузке\скачивание файлов можете не говорить, все доступы открыты, или есть еще какие нить ? Share this post Link to post
desti 10 10/14/2008 05:26 AM Есть лажа с загрузкой файлов с расширениями, в которых перемешаны строчные и прописные буквы. Преобразуем всё в строчные на этапе проверки. 1. Файл sources/classes/attach/class_attach.phpНайти фрагмент и заменить на следующий //----------------------------------------- // Populate allowed extensions //----------------------------------------- if ( is_array( $this->ipsclass->cache['attachtypes'] ) and count( $this->ipsclass->cache['attachtypes'] ) ) { foreach( $this->ipsclass->cache['attachtypes'] as $idx => $data ) { if ( $data['atype_post'] ) { $upload->allowed_file_ext[] = strtolower($data['atype_extension']); } } } 2. Файл ips_kernel/class_upload.phpНайти фрагмент и заменить на следующий //------------------------------------------------- // Valid extension? //------------------------------------------------- if ( ! in_array( strtolower($this->file_extension), $this->allowed_file_ext ) ) { $this->error_no = 2; return; } Share this post Link to post
Nerion 0 10/14/2008 08:26 AM а что вообще пишете там?Воть :Скриншот №1 Есть лажа с загрузкой файлов с расширениями, в которых перемешаны строчные и прописные буквы. Преобразуем всё в строчные на этапе проверки. 1. Файл sources/classes/attach/class_attach.phpНайти фрагмент и заменить на следующий..............2. Файл ips_kernel/class_upload.phpНайти фрагмент и заменить на следующий..............После того что вы сказали заменить, начали ХОТЯБЫ прикреплятся файлы этого расширения .BfME2Raplay :huh: Хоть какой то прогресс....Скриншот №2 Но после того как кликаю на файл (чтобы скачать) то появляется вот что :Скриншот №3 Share this post Link to post
andaril 4 10/14/2008 08:34 AM Найти фрагмент и заменить на следующийчто то странный метод. Просто сделать расширение файла в strtolower и при проверке strtolower __ а вы пробовали писать там строчными буквами в расширении для аттача? Без изменений файлов Share this post Link to post
desti 10 10/14/2008 09:13 AM А чего странного? Первый стртоловер исправляет ошибки ввода в табличку майм-типов. Сдуру ведь могут и большими буквами ввести. Второй прибивает вниз расширение введенного файла, чтобы сравнить его с массивом допустимых. Почему не кажет - надо разбираться.. Посмотрите в папке, в каком виде файл сохранился? Share this post Link to post
desti 10 10/14/2008 10:29 AM Забавная проблемка, однако.. attach_ext varchar(10) - расширение не лезет в базу, получается BfME2Repla.Надо альтерить таблицу, делать поле пошире. Если в mime типах изменить jpg на Jpg -- вылезет ошибка, там такая дурная проверка расширения, что тихий ужас.. Почему-то разработчики думают, что типы всегда будут строчными. Вариантов есть: принудительно ловерить расширение при загрузке, писать в mime-таблицу мелкими буквами. Share this post Link to post
Nerion 0 10/14/2008 10:46 AM а вы пробовали писать там строчными буквами в расширении для аттача? Без изменений файловДа Посмотрите в папке, в каком виде файл сохранился? Люди умаляю помогите решить траблу :huh: Share this post Link to post
desti 10 10/14/2008 11:11 AM Идем в админку, Admin-SQL toolsbox, внизу в окошке Manual Query вставляем alter table ibf_attachments MODIFY attach_ext VARCHAR(18) И жмем "Run Query"(18) - потому что в таблице ibf_attachments_type именно такой размер, пусть будет однообразно. В файле class_attach.php ищем строку $this->ipsclass->cache['attachtypes'][ $r['atype_extension'] ] = $r;и выше добавляем $r['atype_extension'] = strtolower($r['atype_extension']); Обновляем кеши. Загружаем файл еще раз (старая ссылка не будет работать). Должно заработать. независимо от регистра. Share this post Link to post
Nerion 0 10/14/2008 11:36 AM Ай яй яй яй яй, desti вы просто гений, спасибо огромное, заработало ! Спасибочки большое ! Вы меня очень выручили ! :huh: Share this post Link to post