확장자가 없는 텍스트 파일을 다운로드 하도록 설정 하는 방법 문의

확장자가 없는 텍스트 파일을 다운로드 하도록 설정 하는 방법 문의

QA

확장자가 없는 텍스트 파일을 다운로드 하도록 설정 하는 방법 문의

본문

php서버에서 헤더 없이 텍스트만 존재하는 파일을 확장자 없이 하나 생성합니다.

ckd_id 라는 파일안에 텍스트로 기입 하는데요.

이걸 URL/ckd_id 하면 부라우저가 텍스트를 출력합니다.

이 상태에서 파일 안에 별도의 헤더나 php 코드를 넣을 수 없습니다.

이 파일을 URL/ckd_id 형식으로 접근 하면 다운로드가 실행되어야 하는데요.

서버에서 어떻게 설정해야 이게 다운로드 될까요?

mime는 확장자에 따라 설정하는 거지 없는 것에 대한 설정은 안보이는데.....

이 질문에 댓글 쓰기 :

답변 2

별도의 다운로드 루틴을 작성하셔서 

강제로 txt 확장자를 붙여주면 됩니다.

그래야 다운로드 하고 열어볼수 있겠지요.

 

    header("content-type: file/unknown");
    header("content-length: ".filesize("$filepath"));
    header("content-disposition: attachment; filename=\"$file\".txt");
    header("content-description: php generated data");

이 상태에서 파일 안에 별도의 헤더나 php 코드를 넣을 수 없습니다.
오로지 서버에서만 설정해야 합니다.
이 정책은 제가 정하는게 아닌 API를 제공하는 레퍼런스에서 제약사항으로 걸어둔거라 변경이 불가능합니다.
그게 안되면 apm을 버리고 톰캣을 써야 하는 상황이라서요.

사용하는 제품군의 api가 호출 하면 확장자가 없는 텍스트 파일로 ckd_id라는 버전 정보를 생성합니다.
이 동작은 수시로 실행되고 매번 실행 될 때 마다 파일을 새로 생성되는거구요.
이 동작에 끼워넣어 파일에 php 코드나 기타 로직을 넣을수 없습니다.
이 파일을 어플리케이션이 다운로드 하여 버전을 체크합니다.

이 동작이 톰캣이나 기타 서버에서는 정상이지만, php 서버에서는 유독 파일을 다운로드 하지 않고 부라우저에 출력합니다.
그래서 버전 체크가 안되는 상태구요.

말 그대로 해당 ckd_id 파일 안에는 어떤 헤어나 웹 로직을 끼워 넣을 수 없습니다.
저도 그동안 경험 못해본 케이스라서요 ㅠㅠ

아니요 백신입니다.
백신 업데이트 구성중이고 PHP로 커스텀 시도 중인데 현재 톰캣에서는 정상 동작 중이고요.
이식성 및 B2B용 시스템 구축 이슈 관련해서 아예 시스템을 PHP7을 채용하기로 했습니다.
PHP로 커스텀 과정에서 위와 같은 현상이 발생 했는데, 백신 내부에 들어가 있는 별도의 제품 군은 이 경우 커스텀이 불가능합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 2,660
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT