2017-12-01 9 views
0

phpExcelライブラリは、一時ファイルを作成せずにs3に直接ファイルをアップロードしてアップロードできるかどうか、大容量ファイルの場合は複数アップロードが可能かどうかを知りたい。現在enter link description hereから参照して、私は50列のメモリ排気エラーで2000行を書いた後、私は連続して同じ15個の以上のファイルを生成したい。また、取得しているので、私はS3に直接書き込みたいコード一時ファイルを作成せずにs3にphpExcel出力を直接書き込む

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

を使用しています時間。

+0

大きなファイルで作業していて、複数のファイルを同時に生成する必要がある場合は、これらをバックグラウンドタスクとして実行するのか、Webブラウザで実行していますか? –

+0

@ MarkBaker私はバックグラウンドタスクとしてこれをやっています –

答えて

2

いいえ、s3に直接書き込むことは現実的ではありません。 Excelファイルは線形に書かれていないので、ライターはseek()を使用できる必要があり、s3のawsストリームラッパーでさえそれをサポートしていません。この「Store PHPExcel files in Amazon S3」が

は、それがPHPExcel

にいくつかのマイナーな変更で作業することができますおよびS3に直接書き込みがとにかくメモリの使用量を削減しないことを示しています。

+0

私はそれが正当な疑いであるかわからないので、PHPの初心者です。作成した一時ファイルを保存することは可能ですか?ストリーム上でメモリオーバーヘッドを減らすことができます。 –

+0

@RosaMystica - それは可能ではありません....もしそうだったら、私たちはすでにそれをやっています。このアプローチを取ってもメモリを節約することはできません。なぜなら、ファイルを保存するためにファイル全体を構築しなければならず、スクリプトを実行するには非常に時間がかかるからです –

関連する問題