Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Nerion

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

Recommended Posts

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

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

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

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

 

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

 

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

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

 

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

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

1xczxc.jpg

 

Thx in advance :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

unknown/unknown

 

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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
Share on other sites
а что вообще пишете там?

Воть :

Скриншот №1

 

 

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

 

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

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

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

2. Файл ips_kernel/class_upload.php

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

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

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

Скриншот №2

 

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

Скриншот №3

Share this post


Link to post
Share on other sites
Найти фрагмент и заменить на следующий
что то странный метод. Просто сделать расширение файла в strtolower и при проверке strtolower

 

__

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites
а вы пробовали писать там строчными буквами в расширении для аттача? Без изменений файлов

Да

 

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

1rrrrrrrrrrrr.jpg

 

 

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

Share this post


Link to post
Share on other sites

Идем в админку, 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
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...