2012-04-28 3 views
5

나는 프로그래밍에 익숙하지 않고 학교에서 배우기 만하지만 내 사용자가 내 홈페이지에서 일부 Excel 파일을 다운로드하기를 원합니다. 다음 코드는 작동하지 않으며 브라우저에서만 표시되며 다운로드 대화 상자는 표시되지 않습니다.어떻게 PHP를 사용하여 파일을 강제로 다운로드 할 수 있습니까?

이 문제를 어떻게 해결할 수 있습니까?

링크는 http://myurl.com/download.php?fileid=1 또는 http://myurl.com/download.php?fileid=2 등이어야합니다.

<?php 
switch ($_GET["fileid"]) { 
    case 0: 
     $file = "files/mon.xls"; 
     break; 
    case 1: 
     $file = "files/uru2.xls"; 
     break; 
    case 2: 
     $file = "files/oppo23.xls"; 
     break; 
} 
readfile($file); 

도움 주셔서 감사합니다.

답변

12

헤더를 사용해야합니다. 당신이 php manual에서 읽을 수있는 것처럼, 그것은 파일 :

<?php 
header('Content-type: application/xls'); 
header('Content-Disposition: attachment; filename="downloaded.xls"'); 
readfile($file); 
5

몇이 작업을 수행하는 방법하지만 내가 찾은 가장 간단한 방법은 단지 헤더를 사용하는 것입니다있다. 이런 식으로 할 수 있습니다.

header('Location: files/oppo23.xls'); 
관련 문제