最大4 MBのファイルアップロードを受け入れるWebアプリケーションがあります。サーバー側のスクリプトはPHPで、WebサーバーはNGINXです。多くのユーザーは、ビデオなどのアップロードを許可するためにこの制限を大幅に増やすことを要求しています。
しかし、PHPでこの問題を解決する簡単な方法はないようです。まず、クライアント側で、転送中にファイルをチャンクできるものを探しています。 SWFUploadはそれをしていないようです。 Java FX( http://blogs.Oracle.com/rakeshmenonp/entry/javafx_upload_file )を使用してアップロードをストリーミングできると思いますが、 PHPのrequest.getInputStream。
ブラウザのclient_postの制限を増やすか、php.iniのアップロードまたはmax_execution
timesは、ブラウザがタイムアウトし、メモリに保存されているすべてのBLOBを考慮する可能性があるため、本当に大きなファイル(〜1GB)の解決策ではありません。
サーバー側でPHP=を使用してこの問題を解決する方法はありますか?.
plupload はjavascript/phpライブラリであり、非常に使いやすく、チャンク化が可能です。
ただし、HTML5を使用します。
最大ファイルサイズのチャンクで大きなファイルを送信するJavaFXクライアント(2 MBを使用しています)と、チャンクを元のファイルにアセンブルするためのPHPレシーバースクリプト。コードをリリースしています。 Apacheライセンスはこちら: http://code.google.com/p/gigaupload/ use/modify/distributeにお気軽に。
「しかし、PHPでrequest.getInputStreamに相当するものを見つけることができません。」
fopen('php://input');
おそらく?
bigupload
スクリプトを使用してみてください。統合は非常に簡単で、最大2 Gbのチャンクでアップロードできます。チャンクサイズはカスタマイズ可能です。
アップロード用にJavaアプレットを、処理用にPHPアプレットを使用してください。
Juploadのサンプルはこちらにあります: http://sourceforge.net/apps/mediawiki/jupload/index.php?title=PHP_Example
このパッケージ を使用できます
再開可能なチャンクのアップロードをサポートしています。
examples/js-examples/resumable-chunk-uploadの例では、ブラウザを閉じて再度開き、完了していないアップロードを再開できます。