добрый день!

не могу разобраться в чем дело.

ситуация такая, есть сайт, работает на МОДЭКС, система скачивания файлов там организованна через скрипт, по которому имя файла отдается при начале скачивания.

после закачки расширение файлов как правило теряется. точнее получается так:

ссылка на скачивание
<a href="download.php?file=files/message_files/55a886d6ae4880.71387000 1437107926.docx">


имя файла хранится в БД (Телефонограмма по акту выполненных работ). после закачки получаем файл «Телефонограмма» и все. без расширения и продолжения имени файла

проверено в Хроме, такой проблемы нет. Хром адекватно берет имя файла и садит загружаемый файл с полным именем и расширением, т.е. как положено.

содержимое файла manager/download.php
<?php
require_once('../api/Messages.php');
error_reporting(E_ALL);
ini_set("display_errors", 1);
$file = $_GET['file'];
if($file && file_exists('../'.$file)) file_force_download('../'.$file);

function file_force_download($file) {
  $Messages = new Messages();
  if (file_exists($file)) {
	if (ob_get_level()) {
	  ob_end_clean();
	}
	$filename = basename($file);
	$get_file = $Messages->get_file(array('file_name' => $filename));
	if($get_file) $filename = $get_file->name;
	
	header('Content-Description: File Transfer');
	header('Content-Type: application/octet-stream');
	header('Content-Disposition: attachment; filename=' . $filename);
	header('Content-Transfer-Encoding: binary');
	header('Expires: 0');
	header('Cache-Control: must-revalidate');
	header('Pragma: public');
	header('Content-Length: ' . filesize($file));
	if ($fd = fopen($file, 'rb')) {
	  while (!feof($fd)) {
		print fread($fd, 1024);
	  }
	  fclose($fd);
	}
	exit;
  }
}


на лицо неперерытая функция file_force_download, каких либо изменений я не вижу в коде…

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

заранее благодарен за помощь