Hi all. This confirms what I suspected.
The hash algrithm: I have a directory structure: dirs 0 - f, and within each of these, the same dir structure 0 - f. When an image gets uploaded into the library, do an md5sum of the file, take the first 2 chars of that hash and there's your path. e.g $PICDBPATH.'/a/7/a7b8be10b0e69fe3decaa538f1febe84' I'm not sure what the mathematical randomness of this is, but I'm sure it's pretty random, and the chances of collision should be virtually null, the only time you should overwrite a file is if you upload the exact same file(?) Is there a better way of doing this? Cheers -Scott > -----Original Message----- > From: Justin French [mailto:[EMAIL PROTECTED]] > Sent: 21 August 2002 03:25 > To: [EMAIL PROTECTED]; PHP General > Subject: Re: [PHP] Image library > > > on 21/08/02 9:45 PM, Scott Houseman ([EMAIL PROTECTED]) wrote: > > > > Which way would be the most efficient/fastest to access images > from an image > > library. > > A) Store image files in a hash directory structure AND storing > each file's > > information in a mysql table > > OR > > B) Storing image information in mysql table AND storing the > image in a BLOB > > field in that table. > > >From all accounts I've read on this list, a database is not > usually faster > than a filesystem. And for large amounts of files, like 1000's, > a hash will > speed it up more. > > > > The way I see it, considerations to be taken into acount: > > - Is it quicker/better to retrieve image from table & then stream out to > > browser OR simply direct the browser to the file? > > i.e <IMG SRC="/imagelib/image.php?iImageID=10"> OR <IMG > > SRC="/imagelib/5/f/10"> > > - Will a database OR filesystem be more scalable i.e. which wil perform > > better when there are 10000 images in the libary? > > Filesystem should be quicker. You need to think about how you hash the > files up for the most even spread of files in each directory I guess. > > > Justin > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php