Depends, I suppose on your personal preferences. To give you an idea of how I arrange things, here's the general layout of a good sized project I've done...and by good sized I mean about 20 scripts.
A directory in the 'root' (the top level 'home' directory) that is in the 'include_path' directive and contain any scripts I wish to include, plus function declarations, and of course the 'classes' directory contains subdirectories with groups of related classes.
Code:
/php_inc
/php_inc/classes
/php_inc/classes/ClassX
The actual directory that's 'live' and available to the public, I've arranged like so:
Code:
projectname/
projectname/images
projectname/adm
So you can see I take a rather simplistic approach, but I try to do things by the KISS principal...keep it simple stupid! The more involved you get with creating separate directories for every little thing, the quicker you lose track, IMHO. Maybe others feel more organized if they create a new directory for each little component of the project...
HTH