所以我要将文件从远程服务器传输到我的服务器,但在传输它之前我想知道它是什么类型的文件。如果它是一个HTML文件,我将以某种方式处理它,如果它是一个PDF文件,我将以不同的方式处理它,例如,如果它是一个exe文件,我不想转移它根本就没有。
我必须继续使用的是一个URL。现在,如果该URL是显式的(即http://example.com/file.pdf),这不是问题,我可以检查文件扩展名,然后我们进行排序。但是,我可能只会获得http://example.com之类的网址,而且可能是任何内容。
在下载之前是否可以检查(使用PHP)它是什么类型的文件?
修改:我将使用cURL传输文件,但我相信curl_getinfo只能在文件传输后调用吗?
答案 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()。