finfo_buffer
finfo::buffer
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)
finfo_buffer -- finfo::buffer — 返回一个字符串缓冲区的信息
说明
过程化风格
   finfo_buffer(
finfo
string
int
?resource
): string|false
  finfo
$finfo,string
$string,int
$flags = FILEINFO_NONE,?resource
$context = null): string|false
面向对象风格
public finfo::buffer(string 
  $string, int $flags = FILEINFO_NONE, ?resource $context = null): string|false本函数用来获取字符串中二进制数据的信息。
参数
finfo- 
      
经 finfo_open() 返回的 finfo 实例。
 string- 
      
要检查的文件内容。
 flags- 
      
一个 Fileinfo 常量 或多个 Fileinfo 常量 进行逻辑或运算。
 context- 
      
 
返回值
   返回 string 参数所指定内容的类型描述。
   发生错误时返回 false 。
  
示例
示例 #1 finfo_buffer() 示例
<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>以上示例的输出类似于:
application/x-sh; charset=us-ascii
  +添加备注
  
用户贡献的备注 2 notes
  
  
  contact at ingnu dot fr ¶
  
 
  13 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).  
  
  nimasdj [AT] yahoo [DOT] com ¶
  
 
9 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.备份地址:http://www.lvesu.com/blog/php/function.finfo-buffer.php