2013-01-06 4 views
1
내가 (파일이 보안 문자 뒤에) 내 사이트에서 다운로드를 관리하려면 다음 코드를 사용하고

: 파일을 다운로드 할 때 http://www.richnetapps.com/php-download-script-with-resume-option/다운로드 여러 파일 - 분기, 소켓

문제가있다, 그것은 사이트의 나머지 부분을 잠그고 다른 파일을 동시에 다운로드 할 수 없습니다. ('잠금 장치'는 다운로드가 진행 중일 때 홈페이지로 이동하려고 할 때처럼 오래 기다려야합니다. 다운로드가 완료되거나 취소 된 경우에만 홈페이지가 표시됩니다. 일부 파일이 여러 개이기 때문에 문제가됩니다. 백 MB).

나는 파일을 다운로드하는 동안 사이트를 탐색 할 수 있도록하고 2-는 다른 파일 (또는 두 개 또는 세 개 또는 열 개의 파일)을 다운로드 할 수 있도록 두 가지를 원합니다. .) 동시에.

나는 프로세스를 포크로 만들거나, 새 프로세스를 만들거나 다른 소켓을 열어야한다. 그러나 나는 깊이 빠져 나가고 있으며 이것이 올바른 접근이라 할지라도 어떻게해야할지 모른다. 어떤 아이디어 야? 사전에

많은 감사 ....

편집 ---- 나는 그것을 발견! 다운로드 스크립트에서 헤더를 설정하기 바로 전에 session_write_close()를 추가했습니다. 분명히이 동작은 PHP 세션 처리에 기인합니다 - 여기에 추가 정보 : php simultaneous file downloads from the same browser and same php script (필자는 묻기 전에 검색하고 검색했지만 분명히이 게시물을 놓쳤습니다). 많은 감사합니다 ....

+0

PHP로 구현할 필요가 없으며이를 시도해서도 안됩니다. 소켓이 열리고 병렬 요청이 PHP 수준 아래 ** 저 멀리 ** 저글링됩니다. Apache (또는 사용중인 서버)가 대신이 작업을 수행합니다. 사이트에서 한 번에 하나의 요청 만 허용하는 경우 서버 소프트웨어를 올바르게 구성해야합니다. – meagar

+0

당신이 겪고있는 동작은 PHP가 사용자 세션에서 설정 한 * 보통 * 독점 잠금과 매우 흡사합니다. 예제 코드는 세션을 사용하지 않지만 아마도 세션을 수정했을 것입니다. – Charles

+0

찰스 - 그랬어! captcha 확인을 위해. 해결책을 찾았습니다. 위의 편집을 참조하십시오. 답장 시간을내어 주셔서 감사합니다. – Lewis

답변

0

콘텐츠 전달 네트워크 (CDN)는 서버에서 홈페이지 (또는 기타) 페이지 요청을 처리하고 많은 동시 다운로드를 허용하도록 서버를 오프로드합니다. 그것은 대역폭에 비해 저렴해야하며 대부분의 사용자에게는 더 빠를 것입니다.

열쇠는 대부분의 CDN 설정처럼 자유롭게 사용할 수있는 대신 Captcha 이후에만 파일을 보호하도록 구성됩니다.