2014-12-04 2 views
0

Я искал много для этого, и ничего не работает для меня. Проблема в том, что файл был отображен в браузере. Он включает JSON, но является файлом .locx (необходим для APP). Нет, не мой APP, поэтому я не могу это изменить. Я тестировал столько вариаций типов контента и кодировок, но ничего не помог мне. Это мой кодекс.Force Загрузить с PHP - Конфигурация сервера?

<?php 
    function DownloadFile($file) { 
     if(file_exists($file)) { 
      header('Content-Description: File Transfer'); 
      header('Content-Type: application/octet-stream'); 
      header('Content-Disposition: attachment; filename='.basename($file)); 
      header('Content-Transfer-Encoding: binary'); 
      header('Expires: 0'); 
      header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
      header('Pragma: public'); 
      header('Content-Length: ' . filesize($file)); 
      ob_clean(); 
      flush(); 
      readfile($file); 
      exit; 
     } 

    } 

    DownloadFile('storage/3-3-2.locx'); 
?> 

Спасибо за чтение!

// UPDATE

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

+3

Ваш код работает для меня как в Chrome, так и в Firefox – oliakaoil

+1

С каким браузером вы работаете? Например, я обнаружил, что Internet Explorer кэширует заголовок Content-Type, и вы должны перезапустить его, чтобы заставить его обрабатывать контент по-разному. – Phylogenesis

+1

Работает также и на Apache/FreeBSD, PHP 5.4. Я бы предложил, возможно, взглянуть на конфигурацию вашего сервера и типы MIME .... –

ответ

0

Это происходит при загрузке файла.

При загрузке кодировки файла изменено с utf8 на iso.

Смежные вопросы