Re: Image library
| From: | Bogdan Stancescu | Date: | Wed, 21 Aug 2002 13:51:30 +0000 |
| Subject: | Re: Image library | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-113456@lists.php.net to get a copy of this message | ||
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:justin@indent.com.au] Sent: 21 August 2002 03:25 To: ScottH@jamwarehouse.com; PHP General Subject: Re: [PHP] Image library on 21/08/02 9:45 PM, Scott Houseman (ScottH@JamWarehouse.com) wrote:Which way would be the most efficient/fastest to access imagesfrom an imagelibrary. A) Store image files in a hash directory structure AND storingeach file'sinformation in a mysql table OR B) Storing image information in mysql table AND storing theimage in a BLOBfield in that table.From all accounts I've read on this list, a database is notusually 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