2017-12-01 1 views
0

phpExcel 라이브러리가 임시 파일을 만들지 않고 s3에 직접 파일을 업로드하고 업로드 할 수 있는지 알고 싶습니다. 대용량 파일의 경우 다중 업로드가 가능합니다. 현재 enter link description here에서 참조 나는 코드 나 때문에 50 열의 메모리 배기 오류가지고 2000 개 행을 작성 후, 또한 내가 지속적으로 15 개 이상의 파일 같은를 생성 할 S3에 직접 기록 할임시 파일을 만들지 않고 s3에 phpExcel 출력을 직접 작성하십시오.

$writer->save("s3://" . $exportBucket . "/" . $keyname); 

을 사용하고 있습니다 시각.

+0

큰 파일로 작업하고 동시에 여러 파일을 생성해야하는 경우이를 백그라운드 작업 또는 웹 브라우저로 실행하고 있습니까? –

+0

@ MarkBaker 배경 작업으로이 작업을 수행했습니다. –

답변

2

아니요, s3에 직접 쓰는 것은 실용적이지 않습니다. Excel 파일은 선형 방식으로 작성되지 않으므로 작성자는 seek()을 사용할 수 있어야하며 s3의 aws 스트림 래퍼도 지원하지 않습니다. 이 "Store PHPExcel files in Amazon S3"하지만

는 PHPExcel

에 약간의 수정 작업 할 수 있습니다 그리고 S3에 직접 작성하는 것은 어쨌든 메모리 사용량을 감소시키지을 나타냅니다.

+0

PHP를 초보자로 생각하므로 올바른 질문이 아닙니다. 임시 파일을 저장할 수 있습니까? 셀 작성 중에 직접 작성하여 쓰는 것이 좋습니다. 스트림에서 메모리 오버 헤드를 줄일 수 있습니다. –

+0

@RosaMystica - 불가능하지 않습니다 .... 만약 그렇다면, 우리는 이미 그것을 할 것입니다; 이 방법을 사용하면 파일을 저장하기 위해 전체 파일을 만들어야하기 때문에 메모리를 절약 할 수 없으며 스크립트를 실행하는 데 너무 많은 시간이 걸릴 수 있습니다 –

관련 문제