/ 06 Feb 2020
php 텍스트 파일 다운로드

fopen 래퍼가 활성화된 경우 URL을 이 기능을 사용하여 파일 이름으로 사용할 수 있습니다. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()를 참조하십시오. 지원되는 프로토콜 및 래퍼는 다양한 래퍼가 가지고 있는 능력, 사용에 대한 메모 및 미리 정의된 변수에 대한 정보에 대한 링크에서 확인할 수 있습니다. 여기에서는 리소스의 내용을 읽고 압축하는 php://filter/zlib.deflate 필터를 볼 수 있습니다. 그런 다음 이 압축된 데이터를 다른 파일로 파이프할 수 있습니다. 이것은 단지 896KB를 사용합니다. PDF 또는 이미지 파일을 가리키는 링크를 클릭하면 하드 드라이브에 직접 다운로드되지 않습니다. 브라우저에서만 파일이 열립니다. 또한 하드 드라이브에 저장할 수 있습니다. 그러나 zip 및 exe 파일은 기본적으로 하드 드라이브에 자동으로 다운로드됩니다.

참고: 컨텍스트 지원이 PHP 5.0.0으로 추가되었습니다. 컨텍스트에 대한 설명은 스트림을 참조하십시오. 이 예제에서는 API에 POST 요청을 하려고 합니다. API 끝점은 안전하지만 http 컨텍스트 속성을 사용해야 합니다(http 및 https에 사용). 몇 개의 헤더를 설정하고 API에 대한 파일 핸들을 엽니다. 컨텍스트가 쓰기를 처리하기 때문에 핸들을 읽기 전용으로 열 수 있습니다. 이것은 우리가 자주 겪는 문제가 아니지만 대용량 파일로 작업 할 때 엉망이되기 쉽습니다. 비동기 응용 프로그램에서는 메모리 사용에 주의를 두지 않을 때 전체 서버를 쉽게 다운시킬 수 있습니다. 응용 프로그램 경로가 이 코드로 이동한 경우를 가정해 보십시오. 그러나 로컬 파일 시스템에서 파일을 제공하는 대신 CDN에서 파일을 얻으려고 합니다. 우리는 더 우아한 무언가 (Guzzle 같은)에 대한 file_get_contents 대체 할 수 있지만, 후드 아래에는 거의 동일합니다.

그러나 파일 이름을 지정하는 올바른 방법은 파일 이름 특성 주위에 큰 따옴표를 넣어야합니다 : 두 시나리오 에서 큰 파일을 읽어야합니다. 먼저 데이터가 무엇인지 알아야 합니다. 두 번째로는 데이터가 무엇인지 신경 쓰지 않습니다. 이러한 옵션을 살펴보겠습니다… fopen() 함수는 파일을 만드는 데도 사용됩니다. 어쩌면 조금 혼란 스러울 수도 있지만 PHP에서는 파일을 여는 데 사용되는 것과 동일한 기능을 사용하여 파일이 만들어집니다. 이 스크립트를 원하는 모든 곳에서 구현할 수 있지만 force_download.php와 같은 파일로 코드를 복사하고 쿼리 문자열, POST 양식 데이터 또는 세션 변수를 통해 식별자를 전달하는 것이 가장 쉽습니다. 스크립트로 이동한 사용자에게는 브라우저 및 플러그인 설정에 관계없이 적절한 파일을 다운로드하라는 메시지가 표시됩니다.

텍스트 파일의 크기는 같지만 최대 메모리 사용량은 393KB입니다. 이것은 우리가 읽고있는 데이터로 뭔가를 할 때까지 아무 의미가 없습니다. 빈 줄이 두 개 표시될 때마다 문서를 청크로 분할할 수 있습니다. 이와 같은 것: 선택적 두 번째 매개 변수를 사용하고 include_path 파일을 검색하려는 경우 TRUE로 설정할 수 있습니다.

No Comments

There are not comments on this post yet. Be the first one!