FTPスペース、またはWebDAV共有を設定すると思います。それができない場合は、ブラウザが単一のファイルしか選択しないため、何百もの一意のアップロードを処理しようとするのではなく、単一の(または少数の)zipファイルで画像をアップロードします。ファイルアップロードダイアログで一度に(つまり、アップロードするディレクトリ全体を選択することはできません)。
この場合、PHPを使用しないのはなぜですか。
PHPでは、単純なファイルアップロードハンドラーを作成するのは簡単ですが、非常に大きなアップロードを処理する場合は、ファイルサイズのアップロード制限、スクリプト実行時間制限、およびメモリ制限に注意する必要があるため、かなり注意が必要です。初めてセットアップするのは少しイライラするかもしれません。
処理したいマルチGBファイルの場合、HTTPアップロードは希望どおりではありません(理由を尋ねる必要がある場合は、希望どおりに機能させることは、おそらく非常に苛立たしいプロセスになるでしょう。 )。
Mac OSにはいくつかの優れたFTPクライアントがあり、FTPクライアントよりも優れたファイル転送方法としてWebブラウザを信頼する理由はありません。
プログレスバーのサポートについて:
現在のプログレスバーのサポートは、PHPでは非常に制限されています(現在、少し毛むくじゃらのサードパーティモジュールを介してのみ)。ただし、モジュールを標準ディストリビューションに含める計画があると思います。uploadprogress.soをグーグルで検索すると、関連する結果が得られるはずです。
littlegreenへの返信:
私はこの拡張機能http://pecl.php.net/package/uploadprogressを使用し(これは、すでにインストールした少なくとも1つの拡張機能と競合しましたが、現在その問題は修正されていると思います)、カスタムjavascriptハンドラー(http ://iaincollins.com/javascript/FileUploader.js)それぞれの最良のものを組み込むために、Web上のいくつかの複数の例に基づいています。たとえば、非表示のiframeを使用してアップロードの進行状況を透過的に返す、DHTMLファイルのアップロードダイアログボックスを作成し、醜いブラウザベースのファイルアップロードコントロールを透明にして自分のコントロールの上にオーバーレイすることで置き換えます(したがって、クリック可能でした。アップロード用に選択されたファイルの名前を取得することはできますが、JavaScriptからファイルアップロードダイアログを呼び出すことはできません)。CSSのスタイルを正しく設定することは、このために特に重要でした。これは、ブラウザー固有のものです。
私が書いたJSは悲しいことに状況に固有のものですが、いくつかの役立つ要素が含まれている可能性があります。申し訳ありませんが、プライベートインターフェイス用に作成されたため、リンクできるパブリックはありません。
今uploadprogress用のjQueryプラグインがあるようです-それはすべてを行うわけではありませんが、それは良いスタートになるでしょう:http: //nixbox.com/demos/jquery-uploadprogress.php ...私はより良い例が出ていることを思い出しますそこには、複数のファイルのアップロードを処理するものも含まれます(キューに入れて順番に実行することで、一度に1つのファイルを選択する必要がありました)が、残念ながらそれらを見つけることができないようです。
結論:
時間がない限り、面倒なことは避けて、FTPスペースやプライベート/ピアツーピアのファイル転送アプリケーションなどを実行します。
ファイル転送プロトコル(名前が示すように)は、特に大きなファイル転送用に設計されており、構成がほとんど必要なく(リソースの制限にぶつかることはありません)、クライアントがFTP再開をサポートすることを合理的に期待できるため、より優れたオプションです。サーバーが停止したと仮定します(つまり、ダウンロードが停止した場合、PHPファイルベースのHTTPアップロードの場合のように最初からやり直すのではなく、中断したところから簡単に再開できるはずです)。
HTTPにはファイルのアップロードを処理する機能がありますが、それほど堅牢ではありません。マルチGBファイルのアップロードを可能にするには、さまざまなリソース制限(WebサーバーおよびPHPで-上記のとおり)を明示的に構成する必要があります。WebDAV(HTTPサーバーリモートファイルシステムを使用)でも透過的ですが、主にクライアントの実装にバグがあるため、FTPほど堅牢ではない傾向があります。特に、WindowsとMac OSの両方で非常に大きなファイルを転送すると、問題が発生する可能性があります。通常、小さな(たとえば、500 MB未満の)ファイル転送には問題ありません。
ちなみに、HTML5仕様は、ファイルアップロードの処理方法を改善します。一度に複数のファイルをアップロードする可能性があり、仕様の一部としてファイルアップロードの進行状況がありますが、現時点では実際にはオプションではありません。