0

これは、これまでで最も壮大なタイトルの 1 つだと確信しています。だから、私はここのようなアップロードフォームを持っています。私は、人々が自分のファイルを 1 MB までしかアップロードできないようにしました。しかし、たとえば 1 GB のファイルをアップロードしようとすると、エラーが発生するまでに時間がかかります。では、ここで質問です。ファイルのサイズを確認する前に、そのファイルは私のホスティングでダウンロードされていますか、それとも私のホスティングからリソースを消費していますか? 2 MB のファイルをアップロードしようとすると、1 秒でエラーが表示されるのに、エラーが表示されるまでに時間がかかるのはなぜですか? ご説明ありがとうございます。

4

3 に答える 3

0

次のような入力を含める必要があります。

 <input type="hidden" name="MAX_FILE_SIZE" value="30000" />

これは、アップロードできる最大ファイル サイズに関してブラウザにヒントを与えます。ファイルにバグがある場合、ほとんどのブラウザはユーザーに警告します。

ユーザーがファイルを送信した場合、PHP が php.ini で許可されている最大投稿サイズを超えてファイルを保存するとは思いません (サーバーには、スペースを不必要に占有する 1 GB のファイルはありません)。ただし、HTTP プロトコルにはクライアントの要求を中断して応答を途中で送信するための準備がないため、ユーザーはサーバーのエラー応答を取得する前にすべてのデータを送信する必要があります。

巨大な POST データを許可し、ファイル サイズ チェックを PHP スクリプトに委ねると、より多くのディスク容量が使用されることに注意してください。

于 2010-06-25T18:04:18.090 に答える
0

サーバーでファイル サイズを確認している場合は、はい、サイズを確認する if ステートメントを実行するためにサーバーにアップロードする必要があります。

もちろん、クライアント側でチェックするために行うことはすべて、クライアントの意のままになります。したがって、100%信頼できる方法はありません。Artefacto は、ほとんどのユーザーを獲得する 1 つの良い方法を指摘しました。役立つかもしれない JavaScript ActiveX オブジェクト ( http://www.kavoir.com/2009/01/check-for-file-size-with-javascript-before-uploading.html ) もありますが、ユーザーは簡単に無効にすることができますそれを(まったく意図せずに)またはそれをまったくサポートしていないブラウザーを使用しています。

于 2010-06-25T18:07:57.007 に答える
0

あなたの問題について簡単なグーグルを持っているだけで、この古いstackoverflowトピック、jQueryの使用、アップロード前のファイルサイズの制限を見つけました実際、人々がビッグクライアント側にファイルをアップロードするのを止めることは可能であるようですが、フラッシュ/ Javaのみを使用しています。ヘルプhttp://www.swfupload.org/。説明の 9 番目の箇条書き: アップロードを開始する前にファイルサイズを制御します。

よろしく

ルーク

于 2010-06-25T18:27:27.877 に答える