例子

代码如下:

/*

* 判断图片是否为动态图片(动画)

*/

function isAnimatedGif($filename) {

$fp=fopen($filename,'rb');

$filecontent=fread($fp,filesize($filename));

fclose($fp);

return strpos($filecontent,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0')===FALSE?0:1;

}

或者这样做

用PHP判断一个gif图片是不是动画(多帧)

代码如下:

function IsAnimatedGif($filename)

{

$fp = fopen($filename, 'rb');

$filecontent = fread($fp, filesize($filename));

fclose($fp);

return strpos($filecontent,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0') === FALSE?0:1;

}

echo IsAnimatedGif("51windows.gif");

?>

例子2

gif动画是gif89格式的,发现文件开头是gif89。但是很多透明图片也是用的gif89格式,

GOOGLE到的:可以检查文件中是否包含:chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'

chr(0×21).chr(0xff) 是gif图片中扩展功能段的标头,'NETSCAPE2.0'是扩展功能执行的程序名

程序代码如下:

代码如下:

function check($image){

$content= file_get_contents($image);

if(preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$content)){

return true;

}else{

return false;

}

}

if(check('/home/lyy/luoyinyou/2.gif')){

echo'真是动画';

}else{

echo'不是动画';

}

?>

测试发现,读取1024字节足够了,因为此时读取的数据流中正好包含了 chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'

更多信息请查看IT技术专栏

动态图php打不开,PHP如何判断一个gif图片是否为动态图片相关推荐

  1. android开发动态图ae,AE教程:1分钟做出一个可爱鬼畜动图!

    AE教程:1分钟做出一个可爱鬼畜动图! 4月 15, 2019 发表于: 视觉设计. 评论 Sponsor 在忙碌工作的同时,时不时也需要学习下新技能,今日刚学会一个小技巧,让我们可以快速做出一个鬼畜 ...

  2. 判断图有无环_【转】判断一个图是否有环 无向图 有向图

    无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二 ...

  3. AS下怎样录制APP操作生成Gif动态图

    本文主要讲解Android下怎样录制APP操作生成gif动态图. Android App开发完成后,我们希望录制个gif做个展示.视频也可以展示,但是它没有gif轻量简单省流量.所以这篇文章就是讲解下 ...

  4. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  5. 基于pytorch实现图像分类——理解自动求导、计算图、静态图、动态图、pytorch入门

    1. pytorch入门 什么是PYTORCH? 这是一个基于Python的科学计算软件包,针对两组受众: 替代NumPy以使用GPU的功能 提供最大灵活性和速度的深度学习研究平台 1.1 开发环境 ...

  6. gif动态图如何制作?

    1.gif动态图的特点 gif动态图是一种无损的动画格式,它的优点是文件体积小.播放流畅,适合在网站上使用.制作gif动态图需要专业的软件SOOGIF动图. 制作gif动态图的步骤如下: 制作完成后, ...

  7. javacv开发详解之19:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了

    javacv实战专栏目录: JavaCV实战专栏文章目录(JavaCV速查手册) 前言 前面写过视频.桌面屏幕录制apng和gif动态图,虽然已经满足大部分情况,但是没考虑到现在很多动态图都是使用多张 ...

  8. 用 matplotlib 绘制 3D 时间序列动态图

    时间序列动态图是显示时间演变的非常强大的工具,但 matplotlib 的默认动态图很简单,不太适合用于比较多个时间序列. 动态图被广泛使用:从解释神经网络如何训练,到显示合成时间序列统计数据或波动率 ...

  9. CSDN博客专用动态图小程序的推荐---ScreentoGIF教程

    最近在很多博客上面都看到了有动态图的使用,觉得很有意思 也十分有用!这样的话,我们就不必再苦于无法做到演示的分享了!下面就做一个简单的教程分享给各位需要的小伙伴们! 第一步 :下载并安装 它是一款非常 ...

  10. 引入时间轴:动态图模型的共性与特征

    动态图模型的共性特征 从这一篇博客开始,跟刘总来关注有向图模型,也就是贝叶斯网络模型中的一组典型案例--隐马尔可夫模型.卡尔曼滤波器和粒子滤波,这三个有向图模型都有一个统一的名字--动态图模型,它们拥 ...

最新文章

  1. SpringMVC @RequestBody 接收Json数组对象
  2. 如何在GitHub上重命名存储库?
  3. 【转】线性代数的几何意义
  4. 在centos6.5安装MariaDB(mysql)
  5. opencv 人脸检测
  6. VB100年底测试:McAfee金山遗憾出局 瑞星表现令人意外
  7. 直面Java第45期
  8. 全部关于测试–第1部分
  9. 深度学习之卷积神经网络 LeNet
  10. 倒序数(信息学奥赛一本通-T1160)
  11. java json删除指定元素_简洁而优雅,Python Tablib实现将数据导出为Excel, Json等N种格式...
  12. oracle暂停索引,Oracle索引被抑制情况
  13. mysql not in 的坑 -- null 值
  14. 富国银行眼下乱成一团糟:数据中心被烟雾笼罩,银行网站和应用软件宕机
  15. CSDN日报20170224——《程序员该用哪种姿势来理财》
  16. 使用GUID分区表(GPT)的笔记本硬盘做移动硬盘,windowsXP系统不识别的问题
  17. ps4玩android游戏,PS4更新7.0系统:手机秒变手柄,远程遥控畅玩游戏
  18. 计算机CAD技术在工程设计中的应用,研究在机械工程设计中CAD技术的运用
  19. gmt绘制中国省界,结合awk和RGB列表绘制中国地震台站分布
  20. 是什么软件_什么是企业微信软件

热门文章

  1. 安装ssd后不识别网卡_群晖E10M20-T1:你以为它是张网卡,其实它还带俩SSD
  2. 小知识--局域网内的文件共享
  3. python 客户端_Python客户端
  4. 毫秒和秒的换算工具_使用后戒不掉的文档搜索工具:Everything
  5. php pmt,关于光电倍增管(PMT)模块的选型与使用
  6. C语言打印杨辉三角(C笔记)
  7. matlab畸变程度计算,matlab 畸变校正代码
  8. 图像频域增强:高通滤波器
  9. mmlspark-102 : 简单的ML Pipelines
  10. 容器技术Docker K8s 43 Serverless Kubernetes(ASK)详解-ASK网络、存储、日志、监控管理