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

#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? Отличается ли этот элемент в разных средах?