We've come a long way since "back in the day" when it was the "in-thing" to work with flat-files to store application data. Back then (let's say early 1990's) it was popular to save records in CSV formatted plain text files, separated by new lines.
In 1992 I was 10 and was happily plugging away in Microsoft QBasic, trying to build my first ASCII based game by saving high scores and level data into a plain-text file. It worked, but I wish MySQL was around back then!
Today in late 2002, things are a lot different.
Flat files are out and databases are in. I have worked with SQL Server, Access and Oracle, but talking as a software developer, I would have to say that MySQL is the mother of all databases. It's small. Fast. Sleek. Cross-platform. Easy to learn and gets the job done.
I love databases, but I also think that every developer should at least have some basic knowledge of how to read and write files. You may be thinking "why would I need to use flat files. If I use files they're written in XML and I just use a parser to get what I want". Well, here are a couple of reasons why you might need to work with files:
To move binary data (such as image files) into a database as BLOBs (Binary Large Objects)
To import data (such as email addresses) that has been exported from a legacy database or application.
To export data out of a database into a text file so that it can be processed offline
There are hundreds more reasons, many of which I'm sure you've already thought about. Anyway, today I want to run you through some basic file operations with PHP. File functions in PHP are very similar to those found in the C++ fstream library, so if you've come from a C++ background and haven't dabbled with files in PHP just yet, then you're in for an easy ride.