Как отобразить индикатор выполнения cURL в браузере (используя функцию PHP exec ())

Я использую этот крошечный PHP-код для зеркалирования любых файлов на моем сервере.

<?php
$cmd= "curl -L -O http://www.dropbox.com/s/8lu0nutt4tgpkku/jbtools.ipa";
exec($cmd);
?>

Но браузер зависает, пока не завершится процесс зеркалирования. Мой вопрос заключается в том, как я могу отобразить индикатор выполнения, как при запуске этой команды в терминале. что-то вроде этого:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed

Я пробовал много флагов, таких как:

-v --verbose -I -include --trace -

но никто из них не работал. Я тоже задал вопрос Вот преобразовать его в код PHP CURL, но никто не мог мне помочь с этим!

Если это невозможно, очень полезно посоветовать мне выполнить ту же работу с помощью любых других команд.

0

Решение

Самый простой способ — опрос.
Выполните сценарий в фоновом режиме и направьте вывод (в файл), который ваш опросник (js) может опрашивать.

выполнить в фоновом режиме с примерами:
https://felixmilea.com/2014/12/running-bash-commands-background-properly/

показать прогресс в оболочке можно с помощью piping to pv:
http://linux.die.net/man/1/pv

попробуйте это с помощью веб-сокетов:
http://reactphp.org/ — посмотрите на проект rachet.
это даст вам вывод в реальном времени того, что вы хотите выполнить.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]