在OS X中,如果我使用Photoshop(例如)创建PNG文件,我可以选择保存没有扩展名的文件,OS X仍然可以识别它是什么类型的文件以及用什么类型的文件打开它
我有什么方法可以使用PHP从物理文件中提取信息吗?
答案 0 :(得分:1)
PNG文件的前八个字节始终包含以下(十进制)值: 137 80 78 71 13 10 26 10
您可以使用PHP来读取文件头并从已知头中推断出文件类型。您可以在互联网上以各种格式的规格(JPG,Bitmaps,GIF,PNG等)轻松找到这些信息
在这里,我将启动你: - PNG Spec
答案 1 :(得分:1)
如果您使用的是最新版本的PHP(即5.3)或者可以安装PECL扩展,那么您应该查看与PHP 5.3捆绑在一起的Fileinfo extension。
引用the given examples之一,这部分代码如下:
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>
可能会得到这样的东西:
text/html
image/gif
application/vnd.ms-excel
如果您遇到旧版本的PHP,并且无法安装PECL扩展,那么mime_content_type
函数可能会这样做。