Podczas projektowania architektury trzeba wziąć pod uwagę bardzo wielu czynników:
Osobiście uważam, że osobne pliki to zły pomysł.
Zdjęcia można tak przechowywać tuż po uploadzie, zaraz potem trzeba poszukać lepszego rozwiązania.
Oczywiście to zależy od tego pod jakimi obciązeniami ma pracowac serwis.
Dostępne są rozwiazania CDN (content distribution network), serwisy typu youtube czy myspace korzystają gęsto z usług firm oferujących usługi CDN.
Jest też imageshack, uważam że uploadowanie na ten serwis contentu jest dobrym rozwiązaniem, nie wiem tylko jak wyglądają ich filtry antyspamowe. Żeby się nie okazało że po 1000 zauploadowanych zdjęciach dziennie wyłapiesz bana.
Oczywiście zawsze można dywersyfikować, korzystać nie tylko z imageshack ale też innych stron oferujących podobne usług, których jest jak wiadomo od groma i jeszcze troche.
Moja pierwsza myśl, to wszystkie obrazki z danego dnia ładowac do jednego pliku i potem wyszukiwać zdjęć przy pomocy fseek(), inaczej będziesz miał zbyt wiele plików i potencjalnie zbyt wiele pracy dla systemu plików... Hmm, może udajmy że nie napisałem ostatniego zdania, bo tak na prawde nie wiem jak każdy jeden system operacyjny radzi sobie z dużą ilością plików. Natomiast wiem że niektóre hostingi ograniczają ilośc plików np. do 100.000.
Oczywiście umożliwienie serwerowi www dostępu do statycznych plików to duża oszczędność, nie trzeba dla każego wywołania uruchamiać PHP, nie trzeba martwić się o http-cache. Jest to szczególnie ważne jeśli strona ma być popularna i chcesz ją uruchomić na tanim hostingu www.
Generalnie temat rzeka, musisz zadać konkretniejsze pytanie

Najlepiej zacznij od tego jaka ma być szacunkowa popularność i ile pieniędzy wydać na hosting.