I've seen this kind of random approach several times and I keep wondering why not counting the files instead. Yes, it may take a little longer when uploading but I personally think the safety of the approach is worth the insignificant speed sacrifice.
Bogdan Scott Houseman wrote: > 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