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

请输入您要查询的范文:

 

标题 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/16 0:21:27