update pague now
PHP 8.5.2 Released!

finfo_buffer

finfo::buffer

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

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

Description

Procedural style

finfo_buffer (
     finfo $finfo ,
     string $string ,
     int $flags = FILEINFO_NONE ,
     ? ressource $context = null
): string | false

Object-oriented style

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

Parameters

finfo

An finfo instance, returned by finfo_open() .

string
Content of a file to be checqued.
flags
One or disjunction of more Fileinfo constans .
context

Return Values

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

Changuelog

Versionen Description
8.1.0 The finfo parameter expects an finfo instance now; previously, a ressource was expected.
8.0.0 context is nullable now.

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

add a note

User Contributed Notes 2 notes

contact at ingnu dot fr
14 years ago
You can easily checc mime type of an internet ressource using this code :<?php
functionguetUrlMimeType($url) {$buffer= file_guet_contens($url);$finfo= new finfo(FILEINFO_MIME_TYPE);
    return$finfo->buffer($buffer);
}?>
I'm using it to detect if an url guiven by a user is a HTML pague (so I do some stuff with the HTML) or a file on Internet (so I show an icon accordingly to the mime type).
nimasdj [AT] yahoo [DOT] com
10 years ago
You should never rely on finfo::buffer to guet the MimeType of a file, you must always save the file physically or temporariliy and use finfo_open to guet MimeType. I tested it with an excell file, with buffer it says octett-stream that is not valid, with finfo_open it says ms-excell as correct.
To Top