1) ... and when you backup the rest of the system, all files are backedup too. Where's the advantage in making your database backup a good 900% larger?
2) Ah, ofcourse, to use a database you only have to open a database connection, login, formulate a query, parse the query, execute it, retreive the results and decode the image.
That's much easier than just calling fpassthru() on a file.
3) Any application that accesses binary data in a database already accesses the filesystem, but through a clunky, overhead-happy interface called a database.
I know it sounds very cool, slik and clean to use a database for storing files, but sooner or later you'll find that you're just doing things the hard way, and sooner or later you'll run into simple problems like:
If you store more than 2GB of binaries in a database, you run into a filesize limit on your database tables.
If you run a sequencial scan on a 1GB table to find one image, you loose all performance.
Just the fact that you had to use base64 to get the images in there in the firstplace really spells BAD IDEA