(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)
finfo_buffer -- finfo::buffer — Return information about a string buffer
过程化风格
$finfo
, string $string
= NULL
[, int $options
= FILEINFO_NONE
[, resource $context
= NULL
]] )面向对象风格
$string
= NULL
[, int $options
= FILEINFO_NONE
[, resource $context
= NULL
]] )This function is used to get information about binary data in a string.
finfo
Fileinfo resource returned by finfo_open().
string
Content of a file to be checked.
options
One or disjunction of more Fileinfo constants.
context
Returns a textual description of the string
argument, or FALSE
if an error occurred.
Example #1 A finfo_buffer() example
<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>
以上例程的输出类似于:
application/x-sh; charset=us-ascii
contact at ingnu dot fr (2011-06-20 14:22:04)
You can easily check mime type of an internet resource using this code :
<?php
function getUrlMimeType($url) {
$buffer = file_get_contents($url);
$finfo = new finfo(FILEINFO_MIME_TYPE);
return $finfo->buffer($buffer);
}
?>
I'm using it to detect if an url given by a user is a HTML page (so I do some stuff with the HTML) or a file on Internet (so I show an icon accordingly to the mime type).