2011-02-12 1 views
0

PHP 종료 기능에서 클라이언트가 수신 한 HTTP 응답의 크기를 알고 싶습니다.PHP에서 제공되는 HTTP 응답의 크기를 얻는 방법

종료 기능을 등록하고 클라이언트가받은 HTTP 응답의 크기를 읽은 파일의 크기로 확인하고 싶습니다. 이렇게하면 응답이 불완전한 경우를 표시하게됩니다.

배경 : Ubercart uc_file을 사용하여 손상된 (불완전한) 파일 다운로드 보고서가 표시됩니다.

http://api.ubercart.org/api/function/_uc_file_download_transfer/2은 파일을 제공하는 기능입니다. 다운로드를 기록하기 전에 전체 파일을 읽었는지 이미 확인하지만 파일이 완전히 제공 될 때 클라이언트가 계속 연결되어 있는지 확인하지는 않습니다.

+0

PHP-> 서버 전송 이외에 아무것도 볼 수 있다고 생각하지 마십시오. 서버 -> 클라이언트 물건은 PHP의 권한 밖이며 서버는 원하는 경우 바닥의 모든 바이트 또는 일부를 삭제할 수 있습니다. –

답변

0

생성 된 콘텐츠의 크기를 얻는 방법을 모르지만 클라이언트가 불완전 다운로드를 경험하는 이유는 파일을 보내기 전에 올바른 Content-Length 헤더를 지정하지 않았기 때문일 수 있습니다. 표준 호환 브라우저는 크기가 HTTP 응답에서 선언 된 Content-Length보다 작 으면 파일을 저장하지 않습니다.