2011-07-04 21 views
1

複数の画像のアップロードを開始しました。ファイルの選択ウィンドウを開き、Ctrlキーを押しながらファイルを選択して複数のファイルを選択します。私は一部を除いてすべての仕事を得ました:複数のファイルをアップロードする際のファイルサイズの制限

私は1つのイメージのファイルサイズを制限することはできません!イメージの1つを取得してそれを私の希望するファイルサイズ(10 MB)と比較する方法を見つけられません。ファイルサイズが10 MBを超える場合、エラーが発生します。 。

どうすればよいですか? 1つのファイルと同じではなく、複数のファイルではかなり異なっています。

+1

は、あなたが複数のファイルに複数のファイルを選択する]をクリックし、Ctrl +で可能アップロードするために使用している...将来的に誰を提供していますか?あなたの質問には何も言わなかった。 – hakre

+0

それはHTML 5です。私は単純にmultiple = "multiple"属性を使用しました。 – Aborted

+1

[HTML5を使用してクライアントのファイルサイズを確認していますか?](http://stackoverflow.com/questions/4112575/client-checking-file-size-using-html5) - [ref4linked](http://stackoverflow.com/questions/4112575/client-checking-file-size-using-html5) - あなたはそのクライアント側を行うためにjavascriptを使用する必要があります。 – hakre

答えて

2

さて、私はこの問題を次のように修正する方法を考え出しました。私は複数の画像をアップロードするためにforeachループを使用しました。私は次のようでしたループ内

foreach ($_FILES['file']['tmp_name'] as $key => $tmp_name) 

:私はそれをこのように使用

$ FILESIZE = $ _FILES [ 'ファイル'] [ 'サイズ'] [$キー];

if ($fileSize <= 10485760) 
{ 
     // upload code 
} 

これが機能するようになりました。 :D

ホープTHIは、クライアント側の技術/フレームワーク

1

phpには、アップロードするファイルのサイズを制限できる標準的なメカニズムがあります。あなただけのフォームparmeter MAX_FILE_SIZEを追加し、その値としてバイトサイズを指定する必要があります。

<form method="post" enctype="multipart/form-data"> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
<input type="file" name="excel_file"/> 
</form> 
+0

私はこれを試してみましたが、少し遅れて私のサーバーで45.5メガバイトの画像を受信しましたが、そこにあります: – Aborted

1

私はまた、あなたがいることを心に留めておく、配列としてすべてのファイルを取った後、それらのそれぞれにサイズをチェックをお勧めします1人でアップロードできるファイル数の最大値を1回に設定する必要があります。

関連する問題