php обновление html индикатор выполнения и отправка файла по завершении из скрипта - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть 2 php файлы # 1 php webpage # 2 сценарий php. мне нужно обновить индикатор выполнения на # 1 во время работы # 2, а в конце # 2 вывод # 2 - это файл, который мне нужно скачать на # 1.

проблема в том, что когда у меня есть заголовки для загрузки файла, ВСЕ, что выводится из # 2, обрабатывается как данные для сохранения в файл и не обрабатывается # 1. я добавил ob_clean () и flu sh (), чтобы очистить данные в файле, однако то, что я пытаюсь отправить в # 1, теряется.

это то, что я хочу изменить в # 1 :

<div class="progress-bar" style="width:100%" id="Progress_Bar" name="Progress_Bar">test</div>

вот так я передаю файл в # 2 (это в самом конце скрипта)

header('Content-Description: File Transfer');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="'.$filename.'";');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush();
readfile($filename);

это то, что я не знаю, что использовать или редактировать, чтобы «маги» c произошло. также, если я включаю flu sh () в этой части, он прерывает файл для загрузки и вместо этого отображает данные файла на экране

else{
    ob_start();
    ?>
    <!--<style>
        #Progress_Bar {width: 50%;}
        /*document.getElementById("Progress_Bar").style.width = "50%"*/
    </style>
    -->
    <?php
    echo 'test';
    ob_end_flush();
    //flush();
}

я все прокомментировал и просто пытаюсь вывести эхо-тест, но не даже это работает :(

также, к вашему сведению, я на 100% новичок в php и html, только что начал 2 недели go, пытаясь заставить API для офиса работать. Так что подробные объяснения очень ценятся!

...