2012-04-14 6 views
0

파일 다운로드 대기열을 구현해야합니다. 파일 다운로드에 wget을 사용할 계획입니다.파일 다운로드 큐에 PHP

제 질문은 - 파일을 다운로드 할 때 wget에서 정보를 얻는 방법은 무엇입니까?

이렇게하려면 wget에서 콜백 또는 트리거를 설정할 수 있습니까?

또한 wget 대신 다른 파일을 사용하여 파일 다운로드에 사용할 수 있습니다. 사전에

감사합니다, 알렉스

답변

1

당신이 wget을에 액세스 할 수있는 경우, 나는 내가 (백그라운드에서 bash는 스크립트를 실행 당신이에서 실행 한 당신을 제안, 당신이 bash는 스크립트를 실행할 수 있습니다 생각하고 있어요 php)

대용량 파일이 다운로드하는 데 시간이 오래 걸리기 때문에 백그라운드에서 bash 스크립트를 실행하는 것이 현명 할 것입니다. 따라서 파일을 마칠 때까지 기다리지 않고 페이지를 떠나야합니다. 나중에 다시 돌아 오면 파일 다운로드가 완료되었는지 여부를 알 수 있습니다.

내가 할 일은 wget을 실행할 bash 스크립트를 작성하고 다운로드를 완료하면 작업을 트리거하고 데이터베이스를 업데이트하거나 업데이트 할 PHP 스크립트를 실행하는 것입니다. 데이터베이스를 다운로드하고 파일 상태를 다운로드하도록 설정하거나 데이터베이스를 사용하지 않으려는 경우 bash 스크립트에서 파일이 완료되면 사용자에게 전자 메일을 보내거나 파일 링크 또는 이와 유사한 내용의 전자 메일을 보낼 수 있습니다.

나는 당신의 생각을 완전히 가지고 있는지 확신하지 못한다. 그러나 나는 당신이 의미하는 바를 바탕으로 대답했다. 어쨌든 여기

는 파일

#!/bin/bash 

wget $1 

SUBJECT="$1 is ready" 
EMAIL="$2" 

# Email text/message 
EMAILMESSAGE="/tmp/emailmessage.txt" 
echo "you can download your file using this link \n http://somesite/$1" > $EMAILMESSAGE 
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE 

를 다운로드하는 데 사용할 수있는 예제 bash는 스크립트는 다음과 같이 PHP에서 해당 bash는 스크립트를 실행할 수 있습니다 : shell_exec ("scriptfile 링크 이메일 &");

+0

감사합니다. 그게 내가 필요한거야. – alexanoid