#php #file #browser #download #header
#php #файл #браузер #Скачать #заголовок
Вопрос:
Я пытаюсь загрузить файл с помощью php-скрипта. Файл находится в базе данных. Я извлек содержимое файла и распечатываю его с заголовком для загрузки. Он отлично работает на моем локальном хостинге, но когда код выполняется в облаке, он затем отображает файл в браузере вместо его загрузки. Я искал все похожие случаи, и я делаю то, что рекомендуют лучшие решения. Вот мой код:
$fcontent = $row->content;
header("Content-Type:application/octet-stream");
header("Pragma:public");
header("Content-Description:File Transfer");
header("Content-Transfer-Encoding:Binary");
header("Content-Disposition:attachment;filename="$fname"");
header("Content-Length:" . $fsize);
header("Expires:0");
header("Cache-Control:must-revalidate");
ob_clean();
flush();
print ($fcontent);
die();
Комментарии:
1. вы проверили, добавляет ли облачный сервер какие-либо другие заголовки в ответ или перезаписывает те, которые вы указали?
2. Хорошие PHP-программисты никогда,
die()
однако, они знают, когдаexit;
🙂3. Где находится код, который предлагает пользователю эту загрузку? Например. это ссылка для скачивания HTML5? Отличается ли этот элемент в разных средах?