Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Загрузка файлов и их MIME тип...

Опубликовано:

Здравствуйте, есть вопрос :

В общем хочу сделать на форуме возможность прикреплять "повторы\файлы игры The Lord of The Rings : The Battle for Middle-Earth II" все повторы весят по 15-30 кбайт...

Но дело в том что я незнаю какой у них Mime-тип, уже многие типы перепробовал ставить, не работает....

Расширение повторов\файлов .BfME2Replay

 

Если подскажите как мне сделать возможность чтобы на форум могли заливать файлы с таким расширением, буду примного благодарен :)

 

Вот например здесь, сделан даже модуль какой-то для этого :

<- Ссылка показывающая модуль прикрепления реплея ->

 

А мне хотябы просто прикреплять их....

<- Ссылка показывающая прикрепление реплея просто так ->

1xczxc.jpg

 

Thx in advance :)

Рекомендованные сообщения

Опубликовано:

Администрирование форума не освобождает чтения документации. Банально потыкаться по админке и поискать думаю не так сложно.

Опубликовано:
  • Автор

Вообще то я уже каждый миме тип перепробовал....

Опубликовано:

unknown/unknown

 

модуль не относится к майм-типам.

реализация отдельного модуля уже другой вопрос.

для прикрепления хватит расширения и этого майм типа

Опубликовано:
  • Автор

Это я тоже ставил =))) реакция все таже, Неудачная загрузка. Вам запрещено загружать такой тип файлов.

Про доступ к загрузке\скачивание файлов можете не говорить, все доступы открыты, или есть еще какие нить ?

Опубликовано:

а что вообще пишете там?

Опубликовано:

Есть лажа с загрузкой файлов с расширениями, в которых перемешаны строчные и прописные буквы. Преобразуем всё в строчные на этапе проверки.

 

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;
	}

Опубликовано:
  • Автор
а что вообще пишете там?

Воть :

Скриншот №1

 

 

Есть лажа с загрузкой файлов с расширениями, в которых перемешаны строчные и прописные буквы. Преобразуем всё в строчные на этапе проверки.

 

1. Файл sources/classes/attach/class_attach.php

Найти фрагмент и заменить на следующий

..............

2. Файл ips_kernel/class_upload.php

Найти фрагмент и заменить на следующий

..............

После того что вы сказали заменить, начали ХОТЯБЫ прикреплятся файлы этого расширения .BfME2Raplay :huh: Хоть какой то прогресс....

Скриншот №2

 

Но после того как кликаю на файл (чтобы скачать) то появляется вот что :

Скриншот №3

Опубликовано:
Найти фрагмент и заменить на следующий
что то странный метод. Просто сделать расширение файла в strtolower и при проверке strtolower

 

__

 

а вы пробовали писать там строчными буквами в расширении для аттача? Без изменений файлов

Опубликовано:

А чего странного? Первый стртоловер исправляет ошибки ввода в табличку майм-типов. Сдуру ведь могут и большими буквами ввести. Второй прибивает вниз расширение введенного файла, чтобы сравнить его с массивом допустимых.

 

Почему не кажет - надо разбираться..

 

Посмотрите в папке, в каком виде файл сохранился?

Опубликовано:

Забавная проблемка, однако..

 

attach_ext varchar(10) - расширение не лезет в базу, получается BfME2Repla.

Надо альтерить таблицу, делать поле пошире.

 

Если в mime типах изменить jpg на Jpg -- вылезет ошибка, там такая дурная проверка расширения, что тихий ужас.. Почему-то разработчики думают, что типы всегда будут строчными.

 

Вариантов есть: принудительно ловерить расширение при загрузке, писать в mime-таблицу мелкими буквами.

Опубликовано:
  • Автор
а вы пробовали писать там строчными буквами в расширении для аттача? Без изменений файлов

Да

 

Посмотрите в папке, в каком виде файл сохранился?

1rrrrrrrrrrrr.jpg

 

 

Люди умаляю помогите решить траблу :huh:

Опубликовано:

Идем в админку, 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']);

 

Обновляем кеши. Загружаем файл еще раз (старая ссылка не будет работать). Должно заработать. независимо от регистра.

Опубликовано:
  • Автор

Ай яй яй яй яй, desti вы просто гений, спасибо огромное, заработало ! Спасибочки большое ! Вы меня очень выручили ! :huh:

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.