如果文件是文件系统中的文件,则可以执行此操作:
shell_exec("file -bi $file")
但如果文件是一个字符串(尚未保存为文件),怎么办?
字符串/文件是从包含imap_fetchbody()
$body = imap_fetchbody($this->stream, $this->msgno, $section);
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($body) . "\n";
$file = Init::$dynamic['data_path'].$this->msgno.'_'.$part->dparameters[0]->value;
imap_savebody($this->stream, $file, $this->msgno, $section);
echo $finfo->file($file) . "\n";
即使是PDF,PNG等,$finfo->buffer()
和$finfo->file()
都会返回text/plain; charset=us-ascii
。