On Tue, Jan 5, 2010 at 10:20 AM, Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 2010-01-05 at 16:18 +0100, Daniel Egeberg wrote: > >> On Tue, Jan 5, 2010 at 16:09, Shawn McKenzie <nospam@xxxxxxxxxxxxx> wrote: >> > Of course this doesn't work for something like 'My.Word.Document.docx' >> > or 'archive_v2.0.1.tar.gz', but I don't know what will with extensions >> > being variable length and possibly composed of multiple periods. >> >> I suppose a solution to that could be having a list of known file >> extensions and use that while falling back to one of the methods given >> in this thread if there is no match in the list. Of course you would >> then have to check .tar.gz before .gz if you're just iterating through >> a list. You might also just choose the longest match (in terms of >> number of periods). >> > > > That was my thought on how operating systems did it. If it maybe can't > find a matching pattern, then it can fall back to matching anything > after the last period. > > It always puzzles me, because some.archive.tar.gz is a valid file, but > the extension is .tar.gz and the filename is some.archive. I guess it > must compare the full filename to a list of knowns, and then try it's > best after that. > > Thanks, > Ash > http://www.ashleysheridan.co.uk > > > While relying on a file's extension to determine the type of its contents is dangerous, isn't archive.tar.gz just a gzip'd file that happens to contain a tarball named archive.tar? In that case, wouldn't the correct extension just be .gz? Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php