php側のファイルのアップロードの数に制限をかける

for文の繰り返し処理をand $i < 2とすることで、3つ以上のファイルがpostされても、処理されるのは2つに制限できる。

	  for ($i = 0; $i < count($_FILES['files']['name']) and $i < 2; $i++) {
    $file_ext = pathinfo($_FILES["files"]["name"][$i], PATHINFO_EXTENSION);
    if (FileExtensionGetAllowUpload($file_ext) &&  is_uploaded_file($_FILES["files"]["tmp_name"][$i])) {
      if(move_uploaded_file($_FILES["files"]["tmp_name"][$i], "upload/img/".$_FILES["files"]["name"][$i])) {
          echo $_FILES["files"]["name"][$i] . "をアップロードしました。
“; } else { echo “ファイルをアップロードできません。
“; } } else { echo “ファイルが選択されていません。
“; } }

問題はjavascript側なんだが、
var i = 0, f; f = files[i], i < 2; i++ と書いても、制御ができない。。。 しかも、画像とテキストで二つのfor文を回しているのだが、 二つ目のfor文が上手く動かない。困った。 [code] function handleFileSelect(evt){ var files = evt.target.files; for (var i = 0, f; f = files[i], i < 2; i++) { // for (var i = 0, f; f = files[i]; i++) { if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); reader.onload = (function(theFile){ return function(e){ var span = document.createElement('span'); span.innerHTML = ['‘].join(”);
document.getElementById(‘list’).insertBefore(span, null);
};
})(f);

reader.readAsDataURL(f);
}

var output = [];
for (var i = 0, f; f = files[i]; i++) {
// for (var i = 0, f; f = files[i]; i++) {
output.push(‘

  • ‘, escape(f.name), ‘(‘, f.type || ‘n/a’, ‘) -‘,
    f1.size, ‘ bytes, last modified: ‘,
    f1.lastModifiedDate.toLocaleDateString(), ‘
  • ‘);
    }
    document.getElementById(‘list’).innerHTML = ‘

      ‘ + output.join(”) + ‘

    ‘;
    }
    [/code]