provo
codice:
function photos(source) {
  source.onchange = null;
  var input = document.createElement('input');
  input.type = 'file';
  input.name = 'upfile[]';
  input.onchange = function () {photos(input); };
  var br = document.createElement('br');
  var files = document.getElementById('files');
  files.appendChild(input);
  files.appendChild(br);
}
l'onchange dell'input deve essere photos(this)