이것이 오늘 논의된 주요 문제입니다. 헤더를 통해 다운로드를 실행하는 PHP에 대한 PHP 도움말 문서의 지침은 상대적으로 간단하며 인터넷에는 이 측면에 대한 기사가 거의 없으며 원하는 효과를 얻을 수 없는 기사도 많습니다. 오늘은 이 주제에 대해서도 이야기하겠습니다. 인터넷의 일부 기사에 비해 개선되었다고 느끼면 매우 만족할 것입니다.
정확한 관점에서 보면 PHP 문서가 가장 정확합니다. PDF를 예로 들면 텍스트 파일 다운로드를 실행하는 데 필요한 세 가지 명령문이 간결하게 나열되어 있기 때문입니다.
코드 복사 코드는 다음과 같습니다.
// PDF
header('Content-type: application/pdf' );
// download.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"')
// PDF 소스는 원본.pdf
readfile('original.pdf');
이 세 문장은 맞지만, 실제 사용 중에 예상치 못한 문제가 쉽게 발생할 수 있습니다. 그러나 나는 그렇지 않기 때문에 그러한 문제에 직면했습니다. 여기서는 내 문제에 대해 간략하게 이야기하겠습니다.
첫 번째 문장은 할 말이 없어야 합니다. 문서 유형을 변경하면 됩니다. 예를 들어 txt 파일을 다운로드하는 경우 header('Content-type: application/txt');, 두 번째 문장에는 많은 내용이 없습니다. 다운로드한 문서에 이름을 지정하면 됩니다. txt 파일인 경우 header('Content-Disposition: attachment; filename="downloaded.txt)로 변경할 수 있습니다. "');, 그리고 세 번째 문장 문장에 대한 추가 질문이 있습니다. readfile 함수는 파일을 읽어서 출력한다는 뜻입니다. 여기서 파일의 경로는 실제 파일 경로여야 합니다. 원본인 경우. 다운로드 폴더 하위에 txt 파일을 읽으려면 readfile('downloads/original.txt');을 작성하면 되며, 제출된 페이지가 텍스트와 기타 문자를 출력하는 경우 다운로드된 파일은 원본 파일인 original.txt와 제출된 페이지의 텍스트 출력입니다. 여기서 주의 깊은 관찰이 부족했습니다. 뭔가 잘못된 것을 보자마자 즉시 코드를 확인했지만 위의 텍스트가 나에게 필요한 내용이라는 것을 발견하지 못했습니다. 이 문제는 제출된 페이지의 텍스트 콘텐츠 출력을 끄는 것입니다.
이제 문제가 해결되어 텍스트 파일 링크를 클릭할 때 다운로드 대화 상자가 실행되는 효과를 얻을 수 있습니다.
위 내용은 Chelsea Handler의 내용을 포함하여 헤더를 통한 텍스트 파일 다운로드를 구현하기 위한 Chelsea Handler PHP의 코드를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.