finfo_buffer

finfo::buffer

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

finfo_buffer -- finfo::bufferRetourne des informations à propos d'une chaîne de caractères tampon

Description

Style procédural

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

Style orienté objet

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

Cette fonction est utilisée pour récupérer des informations à propos de données binaires dans une chaîne de caractères.

Liste de paramètres

finfo

Une instance finfo, retourné par finfo_open().

string

Contenu d'un fichier à être vérifié.

flags

Une ou une union de plusieurs constantes Fileinfo.

context

Valeurs de retour

Retourne une description textuelle de l'argument string ou false si une erreur s'est produite.

Historique

Version Description
8.1.0 La paramètre finfo attend désormais une instance de finfo ; auparavant, une ressource était attendu.
8.0.0 context est désormais nullable.

Exemples

Exemple #1 Exemple avec finfo_buffer()

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

Résultat de l'exemple ci-dessus est similaire à :

application/x-sh; charset=us-ascii

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
20
contact at ingnu dot fr
12 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
4
nimasdj [AT] yahoo [DOT] com
8 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.
up
-18
donjajo4all at gmail dot com
9 years ago
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
?>
up
-18
donjajo4all at gmail dot com
9 years ago
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
?>
To Top