网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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;
    }
    或者这样做
    用PHP判断一个gif图片是不是动画(多帧)
    代码如下:
    <?php
    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'是扩展功能执行的程序名
    程序代码如下:
    代码如下:
    <?php
    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'
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 20:26:32