I never used the FileUpload snippet myself, but I just downloaded it and read the readme.txt file.
Apparently, it is possible to create a new directory with an optional parameter &createpath=`1`:
* $path (mandatory)
* path where the files should be stored. This path is relative to the siteroot.
* Make sure that the rights for that folder are setup correctly so that PHP is
* allowed to write in that folder. Example: $path=`/assets/uploads/` to put the
* uploaded files in the "assets/uploads" folder.
*
* $createpath = 0
* When set to 1 the path will automatically be created if it does not exist.
* Creating of the path might fail when permissions are not set correctly.
i.e. you could use
[!FileUpload? &tpl=`FileUploadForm`&path=`/assets/uploads/users/foo/`&uploadgroups=`Uploaders`&extensions=`doc,xls,pdf` &createpath=`1`!]
The question is: Do you really want the user to name a folder himself? I would suggest you define it somehow dynamically for the user, e.g. folder-name = webuser-id. This will make sure one user can’t accidentally overwrite someone else’s files, and you don’t need to validate the input (security checks for special characters etc.).