Перейти к контенту
  • 0

Проблема со скачиванием прикрепленных файлов


xbtt

Вопрос

Версия форума 2.3.1

 

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

В итоге в файле "/sources/classes/attach/class_attach.php" в функции show_attachment после раздела

 

//-----------------------------------------
// Open and display the file..
//-----------------------------------------

header( "Content-Type: ".$this->ipsclass->cache['attachtypes'][ $attach['attach_ext'] ]['atype_mimetype'] );
header( "Content-Disposition: inline; filename=\"".$attach['attach_file']."\"" );
header( "Content-Length: ".(string)(filesize( $file ) ) );

//print $contents;
//readfile( $file );
@ob_end_clean();
if( $fh = fopen( $file, 'rb' ) )
{
	while( !feof($fh) )
	{
		echo fread( $fh, 4096 );
		flush();
		@ob_flush();
	}
@fclose( $fh );
		}
exit();

был поставлен соответствующий хук:

 

if(strcasecmp($attach['attach_ext'], "расширение"))
{
//стандарный обработчик загрузки файла (см. выше)
}
else
{
$ext_file = //модификация загруженного через $fp = fopen($file) и прочитанного через fread($fp, 1<<20) файла в тип string//

header( "Content-Type: ".$this->ipsclass->cache['attachtypes'][ $attach['attach_ext'] ]['atype_mimetype'] );
header( "Content-Disposition: inline; filename=\"".$attach['attach_file']."\"" );
header( "Content-Length: ".(string)(strlen($ext_file)) );

echo $ext_file;
flush();
exit();

}

 

Сама проблема(Ы) - файл скачивается не "битым", но(!):

 

Проблема №1: при скачивании в браузере Opera счетчик скачиваний увеличивается на 2, в Mozilla FireFox все норм, в IE вообще пытается скачать index.php (но содержимое файла соотвествует аттачу).

Проблема №2: в любом браузере перед скачиванием очень большая задержка (~16-20 сек)...

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

Задержка может быть из-за не оптимального алгоритма чтения файла в строку.

 

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

 

Для IE надо смотреть какие заголовки ему отправляет скрипт. index.php без имени, говорит как раз о не правильных заголовках.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А как сделать что бы при загрузки файлов на русском языке они так же отображались по русски а не __________ ??? возможно ли? весь форум облазил так и не нашёл _))
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вот нашёл только это http://www.ibresource.ru/forums/index.php?showtopic=7732 прочитал всю тему! нашёл только что проблема может быть ис за браузера! это?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
  • 0
ммм! Спасибо большое )) оказываться не натом форуме искал :D добавьте в Wikki этот косяк! многим думаю пригодиться! и ещё такой вопросик а почему вы изначально не переписываете косяки на форуме перед выпускам?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это вопрос не к нам, к тому же конкретно этот косяк - хостера, ибо локаль в скрипте вроде как устанавливается...
Ссылка на комментарий
Поделиться на других сайтах

  • 0
ммм! Спасибо большое )) оказываться не натом форуме искал :D добавьте в Wikki этот косяк! многим думаю пригодиться! и ещё такой вопросик а почему вы изначально не переписываете косяки на форуме перед выпускам?

 

Да и здесь есть в большом количестве.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.