세션 변수에 기반한 사용자 로그인 데이터로 웹 기반 시스템이 구축되었습니다.php/html로 파일을 내보낼 때 세션 데이터 재설정
가끔 사용자가 로그인하여 csv 또는 xls로 표를 내보내려고하면 세션 데이터가 지워지고 사용자가 시스템에서 '빠져 나옵니다'.
이것은 파일을 제공하기 위해 사용하는 헤더 코드입니다.
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=file.xls");
header("Content-Transfer-Encoding: binary ");
이것이 도움이된다면 ie6에 더 많이 보입니다. 나는 비슷한 문제가있는 사람이 있는지 궁금해하고 있었다.
이것은 내가 시도한 최신 헤더입니다. 아직도 운이 없다. 또한 FF/Opera/Safari에서 똑같은 절차를 테스트 한 결과 괜찮습니다.
header('Cache-Control: no-store, private, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Expires: 0', false);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Pragma: no-cache');
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename=$fileName");
header("Content-Transfer-Encoding: binary ");
만료일 헤더는이 형식이어야합니다 (예 : GMT) : 만료일 : 1994 년 12 월 1 일 16:00:00 GMT – OIS