PHPCon Poland 2024

finfo_buffer

finfo::buffer

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

finfo_buffer -- finfo::bufferBir dizge tamponu hakkında bilgi döndürür

Açıklama

Yordamsal kullanım

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

Nesne yönelimli kullanım

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

Bu işlev bir dizge içindeki ikil veri hakkında bilgi edinmek için kullanılır.

Bağımsız Değişkenler

finfo

finfo_open() işlevinden dönen finfo nesnesi.

string

İçeriği incelenecek dizge.

flags

Fileinfo sabitlerinden biri veya bir kaçının birleşimi.

context

Akımlar hakkında bilgi edinmek için Akım İşlevleri bölümüne bakınız.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde belirtilen dizgenin içeriği hakkında açıklama dizgesi döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 finfo bağımsız değişkeni artık finfo nesnesi kabul ediyor, evvelce bir finfo özkaynağı kabul ederdi.
8.0.0 context artık null olabiliyor.

Örnekler

Örnek 1 - finfo_buffer() örneği

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

Yukarıdaki örnek şuna benzer bir çıktı üretir:

application/x-sh; charset=us-ascii

Ayrıca Bakınız

add a note

User Contributed Notes 4 notes

up
22
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
7
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
-20
donjajo4all at gmail dot com
10 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
-23
donjajo4all at gmail dot com
10 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