Andrew Ballard wrote:
> On Tue, Jan 5, 2010 at 10:20 AM, Ashley Sheridan
> <> wrote:
>> On Tue, 2010-01-05 at 16:18 +0100, Daniel Egeberg wrote:
>>> On Tue, Jan 5, 2010 at 16:09, Shawn McKenzie <> 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
> 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

Yes, or .tgz sometimes.


PHP General Mailing List (
To unsubscribe, visit:

Reply via email to