내가 문제를 푸는 경우 PHP 스크립트를 사용하여 모든 유형의 파일을 쉽게 다운로드 할 수 있습니다.
첫째로, 당신은 그것을 할 수있는 몇 가지 방법을 가지고 ...
가장 안전하지 않은 : - 당신은 디렉토리가 (할 말 '파일 /') 모든 파일이 저장되는 곳. param (filename)을받는 스크립트를 작성하면 해당 디렉토리에서 파일을 찾습니다. 누구나 파일을 다운로드하려고 할 수 있고 "../"를 param으로 전달하는 서브 디렉토리에 액세스 할 수 있기 때문에 이는 안전하지 않습니다. 거기에서 구문 분석을해야합니다.
다른 옵션은 DB를 사용하고, 파일 이름을 저장하고 고유 ID에 연결합니다. 나중에 download.php? id = 1과 같은 스크립트가 있고 DB id가 1 인 파일을 다운로드합니다. 내 생각에 최고야. 트릭을 할해야
$file = "my_file.zip"; // this is what you will get from a param (i.e. ?file=my_file.zip) or from DB query
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file"); // this is totally needed
header("Content-Length: ".filesize($file));
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
readfile($file);
:
어쨌든, 당신이 최고 당신이 생각하는대로 선택할 수 있습니다, 다운로드 대화 상자를 강제로 코드가 같은 것을해야한다.
행운을 빈다.
귀하의 요구 사항은 상호 배타적입니다. –
.htaccess로이 작업을 수행 할 수 있다고 생각합니다. 당신이 무엇을 요구하고 있는지 완전히 확신하지 못합니다. – OptimusCrime
일반적으로 내가하고 싶은 것은 하나의 파일로 downloads.php를 호출 할 수 있다고 가정합니다. 그런 다음 DB (대부분 서버의 파일 경로)에서 데이터를 가져 오는 모든 파일은 txt, doc, pdf, jpg 등입니다. 모든 것이 파일 유형만큼이나 중요합니다. 내가 바라는 것은 브라우저가 기본적으로보기 창에서 열리더라도 파일 유형에 상관없이 파일을 다운로드하게하는 것입니다. – chris