获取给定URL的MIME /媒体/内容类型的最简单,最快捷的方法是什么?

时间:2011-10-02 16:56:25

标签: php mime-types content-type file-type media-type

所以我要将文件从远程服务器传输到我的服务器,但在传输它之前我想知道它是什么类型的文件。如果它是一个HTML文件,我将以某种方式处理它,如果它是一个PDF文件,我将以不同的方式处理它,例如,如果它是一个exe文件,我不想转移它根本就没有。

我必须继续使用的是一个URL。现在,如果该URL是显式的(即http://example.com/file.pdf),这不是问题,我可以检查文件扩展名,然后我们进行排序。但是,我可能只会获得http://example.com之类的网址,而且可能是任何内容。

在下载之前是否可以检查(使用PHP)它是什么类型的文件?

修改:我将使用cURL传输文件,但我相信curl_getinfo只能在文件传输后调用吗?

2 个答案:

答案 0 :(得分:1)

尝试使用PHP get_headers函数,例如:

$h = get_headers("http://google.com", $format = 1);
$content_type = $h["Content-Type"];
// and now parse what you want from array

答案 1 :(得分:0)

使用fopen句柄,然后可以在其上调用stream_get_meta_data()

相关问题