2016-08-13 3 views
0

내 서버에 파일을 미러링하려면이 작은 PHP 코드를 사용하고 있습니다. 미러링 프로세스가 완료 때까지브라우저에서 cURL 진행률 막대를 표시하는 방법 (PHP exec() 함수 사용)

<?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 - 

을하지만, 그들 중 누구도 일했다. 또한 here 질문에 PHP CURL 코드로 변환하도록 요청했지만 아무도 저에게 도움을 줄 수 없습니다!

가능하지 않은 경우 다른 명령을 사용하여 동일한 작업을 수행하는 것이 좋습니다.

+0

콘텐츠를로드하기 전에 브라우저에 데이터를 보내려면 ob_flush()를 사용하거나, 세션에 상태를 쓰고 다른 페이지를 통해 액세스 할 수 있습니다. 실제 php curl 함수는 php.net을 참조하십시오. 귀하의 코드는 PHP와 함께 작업하고 싶다면 더 많은 해결 방법이며 좋지 않습니다. –

+0

나는 cURL을 시도했지만 한 순간에 고생했지만 아무도 저를 도울 수 없습니다! 겉옷을 벗을 수 있습니까? http://stackoverflow.com/questions/38427001/how-can-i-convert-this-curl-command-to-php – PersianHero

+0

코드가 정상적으로 보입니다. adcdownload.com을 찾을 수 없습니다. –

답변

0

가장 쉬운 방법은 폴링입니다. 백그라운드에서 스크립트를 실행하고 프론트 엔드 (js)가 폴링 할 수있는 출력을 파일로 전송하십시오.

예제를 백그라운드에서 실행합니다 http://linux.die.net/man/1/pv

가 WebSocket을 가진이를 사용해보십시오 : 셸에서 진행 상황을 보여주는 https://felixmilea.com/2014/12/running-bash-commands-background-properly/

는 태양 광 발전에 배관을 수행 할 수 있습니다 http://reactphp.org/ - 래칫 프로젝트보고 . 이렇게하면 원하는대로 실시간으로 출력 할 수 있습니다.

관련 문제