当前位置:首页 > 站长杂谈 > 正文内容

php 判断图片文件的真实类型

小宝4年前 (2020-05-18)站长杂谈1321
<?php
/**
 * 检测文件的真实类型
 * @param  string $srcPath 文件路径
 * @return string $realType 文件真实类型
*/

$imgurl = 'https://ae01.alicdn.com/kf/HTB1w5xdS4TpK1RjSZR0762EwXXa7.png';
echo file_type_detect($imgurl);
function file_type_detect($srcPath){
    $types = array(
        6677    => 'bmp',
        7173    => 'gif',
        7368    => 'mp3',
        13780   => 'png',
        255216  => 'jpg',
    );  

    $binary = curl_get($srcPath);
    $bytes = substr($binary, 0, 2); 
    $head = @unpack('C2char', $bytes);
    $typeCode = intval($head['char1'].$head['char2']);
    $realType = isset($types[$typeCode]) ? $types[$typeCode] : $typeCode;
    return $realType;
}
function curl_get($url){
    $ch=curl_init($url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn; R815T Build/JOP40D) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/4.5 Mobile Safari/533.1');
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $content=curl_exec($ch);
    curl_close($ch);
    return($content);
}


扫描二维码推送至手机访问。

版权声明:本文由 菠萝博客 发布,如需转载请注明出处。

本文链接:https://www.boluobk.cn/post/79.html

标签: PHP
分享给朋友:

相关文章

哀悼日网站全站变灰CSS代码

哀悼日网站全站变灰CSS代码

为深切哀悼抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞,响应国务院发布的2020年4月4日全国性哀悼活动! 新型冠状病毒肺炎疫情阻击战打响以来,全国各地抗疫工作人员与同胞们一直都战斗在一线, 对他们的付出,菠萝博客致以最崇高的敬意!为...

kangle EP面板详细安装

kangle EP面板详细安装

前言现在大部分kangle脚本都有一键傻瓜安装功能,主要很多小白用户都是卡在安装之后需要设置的问题,我们这边就推荐4个脚本。至于怎么连接SSH这篇文章暂时先不说了。脚本推荐咖啡kangle (点击进入)首先我们先登录SSH 输入安装脚本命令...

宝塔IDC系统的弊端

宝塔IDC系统的弊端

现在越来越多的主商在互联网上使用宝塔定制的虚拟主机管理系统来销售虚拟主机但实际上它们在安全性和稳定性方面存在缺陷,这就是原因。首先,宝塔中所有站点的php进程池(PHP FPM)是共享的。PHP FPM可以设置PHP启动进程的数量、进程的最...

删除域名后还可访问网站的解决办法

删除域名后还可访问网站的解决办法

相信大家使用主机时会出现域名解析记录删除后访问域名还可以正常访问的情况,这种问题一般很少遇到,但也有不少人最近问我怎么解决,今天就教大家如何解决这个问题首先是如何出现这种问题的呢?一般出现这种问题是主机的默认文件和域名缓存一些主机设置了默认...

虚拟主机设置伪静态方法

虚拟主机设置伪静态方法

kangle EP主机搭建网站的时候,有时需要设置伪静态,那么该如何设置呢?下面就和大家一起学习如何设置伪静态首先kangle EP主机是支持设置伪静态的,Kangle主机的伪静态规则兼容apache伪静态规则,方法分为4步:本地创建文件....

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。