finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::bufferReturn information about a string buffer

Description

Procedural style

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Object oriented style

public string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

This function is used to get information about binary data in a string.

Parameters

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

Return Values

Returns a textual description of the string argument, or FALSE if an error occurred.

Examples

Example #1 A finfo_buffer() example

<?php
$finfo 
= new finfo(FILEINFO_MIME);
echo 
$finfo->buffer($_POST["script"]) . "\n";
?>

The above example will output something similar to:

application/x-sh; charset=us-ascii

See Also

Коментарии

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).
2011-06-20 17:22:04
http://php5.kiev.ua/manual/ru/function.finfo-buffer.html
Get only a webpage content type and forget the charset

<?php
$file 
= new finfo(FILEINFO_MIME);
echo 
strstr(file_get_contents('http://example.com'),';',true); //Returns something similar to  text/html
?>
2014-06-10 16:45:13
http://php5.kiev.ua/manual/ru/function.finfo-buffer.html
Get only a webpage content type and forget the charset

<?php
$file 
= new finfo(FILEINFO_MIME);
echo 
strstr($file->buffer(file_get_contents('http://example.com')),';',true)//Returns something similar to  text/html
?>
2014-06-11 09:42:49
http://php5.kiev.ua/manual/ru/function.finfo-buffer.html
You should never rely on finfo::buffer to get the MimeType of a file, you must always save the file physically or temporariliy and use finfo_open to get MimeType. I tested it with an excell file, with buffer it says octet-stream that is not valid, with finfo_open it says ms-excell as correct.
2015-11-14 20:31:21
http://php5.kiev.ua/manual/ru/function.finfo-buffer.html

    Поддержать сайт на родительском проекте КГБ