Текст в файле встает не с первой строчки. PHP

Всем привет, не особо понимаю почему происходит такая проблема, но при генерации файла запись начинается не с первой строчки из-за чего вытекают проблемы

Код супер тривиальный (Скорее всего некоторые хедеры лишние, но работает - не трогай):

<?php

static function action_get_gpx_addresses(){
        $gpx_text_start ='<?xml version=\'1.0\' encoding=\'UTF-8\' standalone=\'yes\' ?>
          <metadata>
            <name>tmp</name>
            <author>
              <name>tmp</name>
              <link href="https://k-telecom.org/" />
            </author>
            <link href="https://k-telecom.org/" />
          </metadata>
          ';

        $gpx_test_end = '</gpx>';

        $gpx_content = '';
        $addresses = json_decode(Route::$query{'addresses'});
        foreach($addresses as $address){
            $gpx_content .= '<wpt lat="'.$address->{'lat'}.'" lon="'.$address->{'lng'}.'"><name>'.$address->{'address'}.'</name></wpt>'.PHP_EOL;
        }
        $output = $gpx_text_start.''.$gpx_content.''.$gpx_test_end;  
        $file_name = 'points_'.date("m.d.y").'.gpx';
        ob_clean();
        header ("Content-Type:text/xml");
        header('Content-Disposition: attachment;filename='.$file_name);
        header('Cache-Control: max-age=0');
        header('Cache-Control: max-age=1');  
        header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
        header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
        header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
        header ('Pragma: public'); // HTTP/1.0
        header ('Location : index.php');
        echo $output;
        exit();
    }
 ?>

Проблема только в пустой первой строке, если ее убрать, то проблем никаких нет. Есть предположения как лечить? Скриншот Окно скачивания


Ответы (1 шт):

Автор решения: Danzo Sama

Решение было в добавлении ob_clean() перед объявлением заголовков header

→ Ссылка