You're confused about who does what. The browser interprets
the <INPUT TYPE="FILE" NAME="file"> and presents
the file browser dialog box to the user. When the form is
submitted by the browser, the CGI program gets the file
data provided by the browser.
I am not aware of any browser that supports directory uploads.
Some will allow more than one <INPUT TYPE="FILE" NAME="file"> tag per page, which might offer the
ability to let someone pick several files. But I've never
tried that and I've read it's browser dependent.
If you want to automate the uploading of a full directory
of files to an existing browser page/CGI that supports one
file per transaction, you could automate that with Perl and