我需要从我从网络上抓取的一些链接中读取 pdf 扩展文件。链接保存在$link
变量中。但有时,扩展名并没有写在链接中,例如:http://tstc.bz/docs/490
除了490是一个pdf文件外,我点击它时扩展名会存在。如何阅读隐藏的扩展名?谢谢我试过用PATHINFO
if (strtolower(pathinfo($link,PATHINFO_EXTENSION)) === 'pdf'){
我需要从我从网络上抓取的一些链接中读取 pdf 扩展文件。链接保存在$link
变量中。但有时,扩展名并没有写在链接中,例如:http://tstc.bz/docs/490
除了490是一个pdf文件外,我点击它时扩展名会存在。如何阅读隐藏的扩展名?谢谢我试过用PATHINFO
if (strtolower(pathinfo($link,PATHINFO_EXTENSION)) === 'pdf'){
您可以使用get_headers
$link = "http://tstc.bz/docs/490";
if (getPdf($link)) {
// yes its a PDF File
}
使用的功能
function getPdf($link) {
$ext = strtolower(pathinfo($link, PATHINFO_EXTENSION));
if (empty($ext)) {
$type = array_change_key_case(get_headers($link, true), CASE_LOWER);
if (is_array($type['content-type']))
return false;
if (strtolower($type['content-type']) === "application/pdf") {
return true;
}
}
if ($ext === 'pdf') {
return true;
}
return false;
}