You're on the right track to start with, but:
you could place images in /www/images
you would only want to do this if your intention was to absolutely kill performance. Remember, they're expecting upwards of a million records--do you have any idea what kind of performance you'll get just trying to open a file with 1,000,000 files all in one directory?
Instead, you need to distribute the files into a larger number of directories. To do this right, you really need to know what the expected filenames are, so you end up distributing them somewhat evenly. Let's assume that the files are just going to have names consisting of random 16-char-long hex digit strings. Then, you could create a set of top-level directories:
/www/images/0
/www/images/1
...
/www/images/f
and distribute the files into directories based on the first char of the filename. But since, this really only gives a 16-fold speedup, and we're talking millions, then extend each directory to a set of subdirs based on the second char, and so on, until you end up with only a thousand files or so per directory.