엑셀 다운로드 반복문 사용여부 문의드립니다.
본문
엑셀 row를 한번에 1만건 이상 한 파일에 받게되면 메모리 사용량이 큰거같아 1000건씩 끊어서 10개로 나눠서 받으려고 아래와같이 로직을 짯는데 한번 다운로드하고 이후 작업이 되지않아서요.. 파일도 정상적으로 열리지 않구요 ㅠ
제가 원하는 방향으로 진행할 수 있을까요?
* 반복문을 제거하면 정상적으로 다운로드는 됩니다.
관련 에러 내용 :
PHP Warning: Cannot modify header information - headers already sent by (output started at ...)
검색하면서 ob_start(); 라는 문구도 추가해보고, php.ini 의 output_buffering = On 도 수정해보았습니다.
답변 3
이렇게 한번 해보시죠.^^
메모리 사용량 제한 해제 방법을 추천합니다.
1~2만건 정도는 그렇게 큰 데이터는 아니라고 생각합니다.
제일 상단에 다음 코드 추가
ini_set('memory_limit', '-1');
headers already sent by <===에러 문구에도 나와 있듯이
header~~~이 코드는 loop를 돌면서 실행 할 수 있는 코드가 아닙니다
다운 링크가 있는 페이지에서 count($row) <== 이 값을 구해서
ajax로 반복하든지, 링크 갯수를 count만큼 나오게 만들든지 하면 되겠는데....
답변을 작성하시기 전에 로그인 해주세요.