확인 MP3 형식의 podcast를 제공하는 웹 사이트가 있습니다. 이 라우트 다운로드 스크립트 MP3 파일에 대한 요청 htaccess로이며, 그 다음과 같다 :Quicktime으로 브라우저에서 열지 않고 강제로 MP3 파일 다운로드
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*.mp3)$ download.php?file=$1
</IfModule>
PHP의 다운로드 스크립트는 다음과 같다 :
$filename = (isset($_REQUEST['file']) ? $_REQUEST['file'] : '');
$filesize = @filesize($filename);
if ($filename == '' || $filesize == 0) exit(0);
header("Content-Type: audio/mpeg");
header("Content-Description: {$filename}");
header("Content-length: {$filesize}");
header("Content-Disposition: attatchment; filename={$filename}");
readfile($filename);
모든 것이 아름답게 PC에서 작동, 그리고 대부분의 Mac 브라우저에서. 그러나 Safari에서는 Quicktime이 다운로드를 가로 채고 있습니다. iPhone 및 iPad에서도 동일한 문제가 발생합니다. 대상 사용자는 주로 Apple 사용자 일 가능성이 높으므로 "다운로드"버튼을 사용하여 다운로드를 수행하고 장치에 관계없이 Quicktime 플러그인이 포함 된 브라우저에서는 재생되지 않도록하십시오. "스트림"버튼은 브라우저에서 파일을 재생할 수 있지만 "다운로드"버튼에서는 재생할 수 없습니다.
마우스 오른쪽 버튼을 클릭 (또는 Cmd + 클릭)하고 다른 이름으로 파일 저장 ...을 수행하는 것은 허용되지 않습니다.
PHP, HTTP, HTML 등 모든 플랫폼에서 다운로드 버튼을 클릭하는 것 외에는 아무 것도 할 필요가없는 강제로 다운로드 할 수있는 방법이 있습니까?