php 파일 강제 다운로드

PDF 또는 이미지 파일을 가리키는 링크를 클릭하면 하드 드라이브에 직접 다운로드되지 않습니다. 브라우저에서만 파일이 열립니다. 또한 하드 드라이브에 저장할 수 있습니다. 그러나 zip 및 exe 파일은 기본적으로 하드 드라이브에 자동으로 다운로드됩니다. 이 절차에 는 두 가지 중요한 고려 사항이 적용됩니다. 첫째, 누군가가 PDF 파일에 대한 직접 링크를 발견하면 PHP가 방해받지 않고 직접 액세스 할 수 있습니다. 둘째, 이 빠르고 쉬운 접근 방식을 사용하여 보호하려는 각 파일에 대해 PHP 보호가 필요합니다. 이러한 방식으로 여러 파일을 보호하려면 보호된 파일과 PHP 파일의 이름을 같은 이름으로 이름 지정하는 것이 합리적이며 확장자만 다르므로 모든 파일을 똑바로 유지합니다. 서버에 파일을 업로드한 후 텍스트 편집기에서 PHP 문서를 만듭니다. 예를 들어, inline을 표시하는 대신 sample.pdf를 강제로 다운로드하려는 경우 다음과 같은 스크립트를 만듭니다.

브라우저에 따라 일부 파일이 자동으로 다운로드되지 않습니다. 대신 브라우저 자체 또는 해당 플러그인에서 처리합니다. 이것은 종종 PDF 파일, TXT 파일, CSV 파일, 로그 파일, 멀티미디어 파일 (MP3, WAV, MOV, MPEG, AVI 등)와 많은 사용자에 대한, 마이크로 소프트 오피스 파일에 대한 문제입니다. 개발자는 모든 유형의 파일을 강제로 다운로드 할 수 있다는 것은 매우 유용합니다. readfile())은 대용량 파일을 자체적으로 전송하는 경우에도 메모리 문제가 나타나지 않습니다. 메모리 부족 오류가 발생하면 출력 버퍼링이 ob_get_level()로 꺼져 있는지 확인합니다. 이 스크립트를 원하는 모든 곳에서 구현할 수 있지만 force_download.php와 같은 파일로 코드를 복사하고 쿼리 문자열, POST 양식 데이터 또는 세션 변수를 통해 식별자를 전달하는 것이 가장 쉽습니다. 스크립트로 이동한 사용자에게는 브라우저 및 플러그인 설정에 관계없이 적절한 파일을 다운로드하라는 메시지가 표시됩니다. PHP readfile() 기능을 사용하여 이미지 또는 다른 종류의 파일을 사용자의 하드 드라이브에 직접 다운로드하도록 강제할 수 있습니다.

CatégoriesNon classé