Don't use FTP for anything ever. It's not fast and it's not secure.
When you're doing development normally, you should be working on your development server which should be sufficiently close that you can either work on it directly (i.e. it's your desktop) or it's on a local or secure LAN, so you can use whatever protocols your OS provides to directly edit the files in your working directory.
Whether you use SVN or not, you still need to edit files in a working copy on your development server which is not production (likewise use a separate database which contains only junk data). Editing files in a production server is a recipe for disaster - even if you're working on a separate copy, a mistake could cause unnecessary server load or do Bad Things (think accidentally sending out emails to real users).
Once you've got a thoroughly tested local development version (committed to SVN if you're using that, say), you can then think about deploying it to production.
A change almost always involves editing more than one file, so you will need some way of atomically (or at least quickly) getting your changes to production. FTP wouldn't do this as it's achingly slow.
It's typical to have a configuration file - the deployment system needs to either ignore this or take it from a different location - your development config file won't work in production (and must not be accidentally deployed to production where it would create havoc).
I normally write some kind of script to deploy things to production - for instance, upload (or get via SVN) your tested, working application to a staging directory in your production server, then have a script which copies the relevant files into the live site directory, ensuring that config files and other files which don't need to be copied are left behind as necessary.
I find this to be the best way of working.
Mark