で複数のファイルを選択するにはどうすればよい<input type="file">
ですか?
で複数のファイルを選択するにはどうすればよい<input type="file">
ですか?
回答:
新しい答え:
HTML5では、multiple
属性を追加して複数のファイルを選択できます。
<input type="file" name="filefield" multiple="multiple">
古い答え:
につき1つのファイルしか選択できません
<input type="file" />
。複数のファイルを送信する場合は、複数の入力タグを使用するか、FlashまたはSilverlightを使用する必要があります。
HTML5 <input type="file" multiple />
(仕様)もあります。
ブラウザのサポートはデスクトップでは非常に優れており(IE 9以前ではサポートされていません)、モバイルではあまり良くありません。プラットフォームやバージョンによっては、正しく実装することが難しいためです。
name="files[]"
全体は次のようになります。
<form enctype='multipart/form-data' method='POST' action='submitFormTo.php'>
<input type='file' name='files[]' multiple />
<button type='submit'>Submit</button>
</form>
タグにenctype='multipart/form-data'
属性があることを確認してください。そうでない場合は<form>
、送信後にサーバー側でファイルを読み取ることができません。
このjQueryプラグイン(jQuery File Upload Demo)は、フラッシュなしで、使用している形式で実行します。
<input type='file' name='files[]' multiple />
HTML5は、type属性がfileであるinput要素に新しい属性multipleを提供しています。したがって、複数のファイルを選択でき、IE9以前のバージョンではこれをサポートしていません。
注:input要素の名前には注意してください。複数のファイルをアップロードする場合は、name属性の値として文字列ではなく配列を使用する必要があります。
例:input type = "file" name = "myPhotos []" multiple = "multiple"
phpを使用している場合は、$ _ FILESのデータを取得し、var_dump($ _ FILES)を使用して出力を確認し、処理を実行します。これで、繰り返し処理して残りを実行できます
簡単だ ...
<input type='file' multiple>
$('#file').on('change',function(){
_readFileDataUrl(this,function(err,files){
if(err){return}
console.log(files)//contains base64 encoded string array holding the
image data
});
});
var _readFileDataUrl=function(input,callback){
var len=input.files.length,_files=[],res=[];
var readFile=function(filePos){
if(!filePos){
callback(false,res);
}else{
var reader=new FileReader();
reader.onload=function(e){
res.push(e.target.result);
readFile(_files.shift());
};
reader.readAsDataURL(filePos);
}
};
for(var x=0;x<len;x++){
_files.push(input.files[x]);
}
readFile(_files.shift());
};
これをコピーしてhtmlに貼り付けます。
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
これは私を通して、次のWebページからあなたに届きます:http : //www.html5rocks.com/en/tutorials/file/dndfiles/