FileZilla has become my favorite FTP program. I love being able to select all of the files for uploading and store them in a queue until I am ready to upload them all at one time. I have several interconnected websites where if I implement a change in one of them, they all are going to have similar changes. If I had to update them one at a time, selecting the appropriate folders on both servers, upload a few files, before having to switch to another directory or even another website, the websites are going to be out of sync leading to possible errors.
The feature of FileZilla that I have come to appreciate a great deal is the ability to export the list of files in the queue. I work on my local PC as the development environment. I am also lucky enough to have a separate test environment that lets the customer review and approve the changes before I move them into production. I build the queue of files for upload into the test environment, then I select Edit on the menu and Export. I check the box for Export Queue and save the XML file on my PC. At this point I edit all of the connection information (which is conveniently located in one place at the top of the file) so that it will point to the live server for the next upload. By the time the changes have been reviewed and approve for go-live, I don't have to worry about remembering all of the files that were changed and are in need of uploading to the live server. I open up FileZilla, select Edit and Import, and load the XML file. If I did the uploads to the test environment in a series of uploads, I can import as many XML files as needed and they are all appended to the queue. I also save all of the XML files with the date in the filename and a brief description so I will have a history of all files uploaded at what times and for what purpose. I start the processing of the queue and right after that I start any database update scripts so as to minimize any downtime.
FileZilla is great!