0

ユーザーがスライダーの画像を変更できる Web サイトを開発しています。(フルスクリーン スライダー) 各画像は約 2000px から 2000px で、ユーザーは HTML フォームに必要な数の画像をアップロードできます (上限は 10)。

それらのアップロード速度はかなり遅く、PHP の max_execution_time のデフォルト値である 30 秒を簡単に超えると思います。また、将来的にはユーザーが .rar/.zip ファイルを 100MB までアップロードできるようにします。

アイデアはほとんどありませんでしたが、より良い解決策/レビューをSOに依頼したいと思いました.

  1. PHP.ini へのアクセス権があり、ユーザーがすべての画像を一度にアップロードできるため、30 秒をより高い値に変更できますが、長期的にはパフォーマンス関連の問題が発生する可能性があります。(これはオプションではありません!)
  2. クライアントサイズでjavascriptを利用できます。HTML 形式で指定された各画像パスに対して、javascript が XMLHttpRequest で 1 つずつ投稿し、応答を期待する場合があります。応答が true の場合、JavaScript は次の画像に移動し、アップロードを試みます。(利益: 各画像は php 自体を開始し、独自の 30 秒のライフタイムを取得します。)
  3. ファイルが 50MB を超える場合、Javascript ソリューションはファイルのアップロードでは機能しません。お客様は通常、ターゲット リージョンで 25 kbps のアップロード速度に制限しているため、30 秒で 50 MB をアップロードする方法はありません。#2と同様に、アップロードされたファイルが30秒ごとにバイト単位で保存され、クライアントが残りのバイトなどをプッシュし続けるスクリプトを使用できます。

基本的に、このタスクをどのように完了しますか? PHP.ini に依存したくないので、max_execution_time を増やすことは選択肢にすべきではありません。

画像のアップロードには #2 を使用する必要がありますか? また、#3 について提案できることはありますか?

4

1 に答える 1