작업중 인 웹 응용 프로그램에서 사용자는 CSV 파일에 대한 링크를 클릭 할 수 있습니다. MIME 유형에 대한 헤더 세트가 없으므로 브라우저는 단지 텍스트로 렌더링합니다. 이 파일을 .csv 파일로 보내려면 사용자가 calc, excel, gnumeric 등으로 직접 열 수 있습니다.
header('Content-Type: text/csv');
echo "cell 1, cell 2";
이 코드는 내 컴퓨터에서 예상대로 작동하지만 (항상 그렇지 않습니까?) 다른 컴퓨터에서는 작동하지 않습니다.
내 브라우저는 FF 3.0.1 (Linux)의 야간 빌드입니다. 작동하지 않는 브라우저는 IE 7 및 FF 3.0 (Windows)이었습니다.
내가 모르는 문제가 있습니까?
답변
다음과 같은 방법으로 브라우저가 “다른 이름으로 저장 …”대화 상자를 열도록 할 수 있습니다.
header('Content-type: text/csv');
header('Content-disposition: attachment;filename=MyVerySpecial.csv');
echo "cell 1, cell 2";
대부분의 주요 브라우저에서 작동합니다.
답변
언어 나 프레임 워크를 지정하지 않았지만 파일 다운로드에 다음 헤더가 사용됩니다.
"Content-Disposition: attachment; filename=abc.csv"
답변
Internet Explorer를 사용하면 다운로드가 제대로 작동하도록 Pragma : 공개 헤더를 지정해야하는 경우가 종종 있습니다.
header('Pragma: public');
내 2 센트 만 ..
답변
이 코드는 CSV를 포함한 모든 파일을 내보내는 데 사용할 수 있습니다
// application/octet-stream tells the browser not to try to interpret the file
header('Content-type: application/octet-stream');
header('Content-Length: ' . filesize($data));
header('Content-Disposition: attachment; filename="export.csv"');