Re: best way to determine (MIME) content type of a stream of bytes?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2010-03-08 at 10:57 -0500, Robert P. J. Day wrote:

> hi, i'm interested in the most comprehensive way to determine the
> content type of a stream of bytes that's been uploaded to a PHP
> script?  assuming that the bytes are uploaded simply via a POST
> parameter, i can see that there are a couple ways to do it:
> 
>   * getimagesize()
>   * FileInfo
> 
> i've been doing some testing this morning and a few video formats
> handed to FileInfo come back as "application/octet-stream" which isn't
> particularly informative.  and i want to support as many different
> formats of image, audio and video as possible.
> 
>   so ... what's the best way?  oh, by the way, when i used fileinfo, i
> didn't bother handing over a magic file.  i'm starting to think that
> would make a difference.  and is there a noticeable advantage to
> upgrading to PHP 5.3 since the server (centos 5.4) is currently
> running only PHP 5.1.6.  thanks.
> 
> rday
> --
> 
> ========================================================================
> Robert P. J. Day                               Waterloo, Ontario, CANADA
> 
>             Linux Consulting, Training and Kernel Pedantry.
> 
> Web page:                                          http://crashcourse.ca
> Twitter:                                       http://twitter.com/rpjday
> ========================================================================
> 


If you're wanting to grab details about a clip, what about using mplayer
for dealing with video clips. It has more than a few command line
options that can return various levels of detail about a media file. You
could use the extension of the clip as a hint about what way you can
determine a files exact type. So, if a file came in with a jpg, png or
gif extension, you could use GD functions to determine if it's really an
image. If it's a .avi, .mpg, .mp4, .mp3, .ogg, you could use mplayer to
deal with it.

This does seem to ba a bit of an area where PHP is lacking. Even the
manual pages are cryptic. It seems to suggest that the Mime functions
which we should use in-place of deprecated ones themselves rely on those
same deprecated functions!

Having said that, I've had good results from using "file -f filename" on
Linux, which is using version 5.03 on my system.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux