finfo_buffer

finfo::buffer

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

finfo_buffer -- finfo::bufferDevuelve información acerca de un string de buffer

Descripción

Estilo procedimental

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

Estilo orientado a objetos

public function finfo::buffer(string $string, int $flags = FILEINFO_NONE, ?resource $context = null): string|false

Esta función se utiliza para obtener información acerca de datos binarios en un string.

Parámetros

finfo
Una instancia finfo, retornada por finfo_open().
string
Contenido de un fichero a ser verificado.
flags
Una o una unión de varias constantes Fileinfo.
context

Valores devueltos

Devuelve una descripción textual del argumento string o false si ha ocurrido un error.

Historial de cambios

Versión Descripción
8.5.0 El parámetro context ha quedado obsoleto puesto que es ignorado.
8.1.0 El parámetro finfo ahora espera una instancia de finfo ; anteriormente, una resource era esperado.
8.0.0 context ahora es nullable.

Ejemplos

Ejemplo #1 Ejemplo con finfo_buffer()

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

Resultado del ejemplo anterior es similar a:

application/x-sh; charset=us-ascii

Ver también

add a note

User Contributed Notes 2 notes

up
22
contact at ingnu dot fr
14 years ago
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).
up
8
nimasdj [AT] yahoo [DOT] com
10 years ago
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.
To Top