DreamHost’s webFTP has some, if not most, of that functionality (goto http://webftp.dreamhost.com), but it has some limitations.
For one, it can only upload files less than 7MB in size (PHP installation limitation).
Another issue is that I do not recommend using it to edit source code files, most notably perl files, as it does not properly handle *nix line endings (this can make debugging a script a difficult task, as the line ending break other wise working code).
One of the best things about DreamHost is that, via the shell, you do most of this stuff “online” with command line tools once you learn your way around.
Alternately, if you are a “GUI” kind of person, you can install any one of several excellent filemanagers for your own use on your domains(s).
Thyese are readily available on the web (both free and commercial), and offer varying features, power, and flexibility - so you can pick what works best for you.
You can search these forums for others’ suggestions about which filemanager to use. For a simple to operate and easy to install filemanager, I like ffileman, though there are many others out there, and you may like another one better (visit hotscripts.com for more choices thatn you are likely to want to wade through!).
If you expect to be uploading files over 7MB in size via this filemanager, and you wish to avoid having to create a custom installation of PHP to make that possible, you should avoid PHP based filemanagers at Dreamhost, and use a perl or python based solution instead, as they don’t have that issue.