Я искал много для этого, и ничего не работает для меня. Проблема в том, что файл был отображен в браузере. Он включает 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
Он работает на другом сервере, и, как написано в комментариях Скрипт работает очень хорошо, но то, что я должен изменить в конфигурации сервера, что он работает для меня тоже?
Ваш код работает для меня как в Chrome, так и в Firefox – oliakaoil
С каким браузером вы работаете? Например, я обнаружил, что Internet Explorer кэширует заголовок Content-Type, и вы должны перезапустить его, чтобы заставить его обрабатывать контент по-разному. – Phylogenesis
Работает также и на Apache/FreeBSD, PHP 5.4. Я бы предложил, возможно, взглянуть на конфигурацию вашего сервера и типы MIME .... –