2012-02-01 2 views
1

Google 시스템은 사용자가 웹 루트 위에 업로드 한 파일을 저장하며 파일 이름은 DB에 저장됩니다. 사용자가 다운로드하고자 할 때, 파일 이름을 클릭, 우리의 다운 페이지에는 다음 사용하여 파일을 얻을 수 ...PHP 태블릿으로 파일 가져 오기 실패

header('Content-Type: '.$mime); 
header('Content-Disposition: attachment; filename="'.$filename.'"'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Length: '.sprintf('%d', $filesize)); 
header('Expires: 0'); 

// check for IE only headers 
if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)) { 
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
    header('Pragma: public'); 
} else { 
    header('Pragma: no-cache'); 
} 

$handle = fopen($filepath, 'rb'); 
fpassthru($handle); 
fclose($handle); 

이제 모든 브라우저에서 작동하는 것 같다, 그러나 우리는 iOS 또는 안드로이드 기기에서 할 때 , 아무 반응이 없습니다. 누군가를 바라는 것은 내가 놓친 명백한 것을 볼 것이다. 저는 핸드 헬드/태블릿 장치 개발을 처음 접했습니다. ;

감사

+0

해당 브라우저가 해당 HTTP 응답에 대한 다운로드 지원을 제공하는지 확인하십시오. – hakre

+0

Mac/PC에서는 Safari에서 작동하지만 iPhones에서는 iPall이 멈 춥니 다 (오류 없음). 우리가 테스트 한 Honeycomb 기반 Android 태블릿과 동일합니다 ... Chrome의 변형 일 것입니다. PC/Mac 측에서도 잘 작동합니다. – Don

+0

브라우저 설명서를 확인하십시오. – hakre

답변

0

당신은

헤더 ("응용 프로그램/octet-stream을 콘텐츠 형식")를 확인할 수 있습니다

대신 MIME 유형을 제공하십시오.

+0

죄송합니다 ... $ mime이 현재와 동일합니다. 배열에서 가능한 MIME 유형을 지정하려는 경우 변수입니다. – Don