>백엔드 개발 >PHP 문제 >PHP 코드로 파일 다운로드를 구현하는 방법

PHP 코드로 파일 다운로드를 구현하는 방법

藏色散人
藏色散人원래의
2020-08-05 10:29:382485검색

PHP에서는 헤더 메소드를 통해 파일을 다운로드할 수 있습니다. 구문은 "header('Content-type: application/pdf');"이며 다운로드된 문서의 유형을 지정하는 데 사용됩니다.

PHP 코드로 파일 다운로드를 구현하는 방법

추천: "PHP 비디오 튜토리얼"

헤더를 통해 텍스트 파일을 다운로드하기 위한 PHP 코드

소위 텍스트 파일 다운로드는 텍스트 파일에 대한 링크를 클릭할 때, 열리지 않습니다. 이 파일 대신 다운로드할 수 있는 다운로드 대화 상자가 나타납니다.

이것이 오늘 논의된 주요 문제입니다. 헤더를 통해 다운로드를 실행하는 PHP에 대한 PHP 도움말 문서의 지침은 상대적으로 간단하며 인터넷에는 이 측면에 대한 기사가 거의 없으며 원하는 효과를 얻을 수 없는 기사도 많습니다. 오늘은 이 주제에 대해서도 이야기하겠습니다. 인터넷의 일부 기사에 비해 개선되었다고 느끼면 매우 만족할 것입니다.

정확한 관점에서 볼 때 PHP 문서는 텍스트 파일 다운로드를 트리거하는 데 필요한 세 가지 명령문을 간결하게 나열하므로 가장 정확합니다. PDF를 예로 들면 다음과 같습니다.

코드는 다음과 같습니다.

// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');

이 세 문장은 다음과 같습니다. 하지만 실제 사용 중에 예상치 못한 문제가 쉽게 발생할 수 있으므로 주의를 기울이는 사람이라면 이러한 문제를 쉽게 피할 수 있습니다. 그러나 나는 그렇지 않기 때문에 그러한 문제에 직면했습니다. 여기서는 내 문제에 대해 간략하게 이야기하겠습니다.

첫 번째 문장은 할 말이 없어야 합니다. 문서 유형을 변경하면 됩니다. 예를 들어 txt 파일을 다운로드하는 경우 header('Content-type: application/ txt');, Chapter 1 두 번째 문장에서는 별로 할 말이 없습니다. 다운로드한 문서에 이름을 지정하면 됩니다. txt 파일인 경우 header('Content-Disposition: attachment; filename=" download.txt"'); 세 번째 문장 문제가 더 있습니다. readfile 기능은 파일을 읽어서 출력한다는 뜻입니다. 여기서 파일의 경로는 실제 파일 경로여야 합니다. 원본.txt인 경우 다운로드 폴더 하위에 readfile('downloads/original.txt');라고 적으면 되고, 제출한 페이지가 텍스트와 기타 문자를 출력하는 경우 다운로드한 파일은 원본 파일인 original.txt와 제출된 페이지의 텍스트 출력입니다. 여기서 주의 깊은 관찰이 부족했습니다. 뭔가 잘못된 것을 보자마자 즉시 코드를 확인했지만 위의 텍스트가 나에게 필요한 내용이라는 것을 발견하지 못했습니다. 즉, 제출된 페이지의 텍스트 콘텐츠 출력이 꺼지는 문제입니다.

이제 문제가 해결되어 텍스트 파일 링크를 클릭할 때 다운로드 대화 상자가 실행되는 효과를 얻을 수 있습니다.

위 내용은 PHP 코드로 파일 다운로드를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.