找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1346|回复: 0
打印 上一主题 下一主题

php读取flash文件高宽帧数背景颜色的方法

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:50:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            本文实例讲述了php读取flash文件高宽帧数背景颜色的方法。分享给大家供大家参考。
具体实现方法如下:
[U]复制代码[/U] 代码如下:getswfinfo($file);
  echo "
文件的宽高是:".$flash["width"].":".$info["height"];
  echo "
文件版本是".$flash["version"];
  echo "
文件帧数量是".$flash["framecount"];
  echo "
文件帧速率是".$flash["framerate"];
  echo "
文件背景颜色是".$flash["bgcolor"];
*/
class flash
{
  //是否返回背景色
  public $need_back_color = false ;
   
  //是否返回版本
  public $need_version = false ;
   
  //是否返回帧速率
  public $need_framerate = false ;
   
  //是否返回帧数量
  public $need_framecount = false ;
  public function __construct()  
  {
  }
  public function getswfinfo( $filename )
  {
    if ( file_exists($filename) ) {
       //echo "文件的修改时间:".date("m d y h:i:s.", filemtime($filename))."
";
    } else {
       //echo "目标文件不存在!";
       return array( "error" => $filename ) ;
    }
    //打开文件
    $rs = fopen($filename,"r");
     
    //读取文件的数据
    $str = fread( $rs , filesize( $filename ) ) ;
    ///
    if($str[0] == "f")
    {
       //echo "
文件已是解压缩的文件:";
    } else {
       $first = substr($str,0,8);
       $last = substr($str,8);
       //
       $last = gzuncompress($last);
       //
       $str = $first . $last ;
       $str[0] = "f";
       //echo "
解压缩后的文件信息:";
    }
    $info = $this->getinfo( $str );
    fclose ( $rs ) ;
    return $info;
  }
  private function mydecbin($str,$index)
  {
    $fbin = decbin(ord($str[$index]));
    while(strlen($fbin)mydecbin( $str , 8 ) ;
     
    //计算rec的单位长度
    $slen = bindec( substr( $fbin , 0 , 5 ) );
     
    //计算rec所在的字节
    $recsize = $slen * 4 + 5 ;
    $recsize = ceil( $recsize / 8 ) ;
    //rec的二进制
    $recbin = $fbin ;
    for( $i = 9 ; $i mydecbin( $str ,$i );
    }
    //rec数据
    $rec = array();
    for( $i = 0 ; $i need_back_color ) {
      //背景颜色
      for( $i = $recsize + 12 ; $i colorhex(ord($str[$i+2])).$this->colorhex(ord($str[$i+3])).$this->colorhex(ord($str[$i+4]));
          break;
         }
      }
    }
     
    if ( $this->need_version ) {
      //版本
      $version = ord( $str[3] );
    }
    if ( $this->need_framerate ) {
      //帧速率
      $framerate = ord( $str[$recsize + 8] ) / 256 + ord( $str[$recsize + 9] ) ;
    }
    if ( $this->need_framecount ) {     
      //帧数量
      $framecount = ord( $str[$recsize + 11] ) * 256 + ord( $str[$recsize + 10] );
    }
     
    return  array ( "bgcolor" => $bgcolor ,
            "version" => $version ,  
            "framerate" => $framerate ,  
            "framecount" => $framecount ,  
            'width'=>$rec[1],
            'height'=>$rec[3]
            );
  }
}
?>
希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • 用PHP动态创建Flash动画
  • PHP+FLASH实现上传文件进度条相关文件 下载
  • flash与asp/php/asp.net通信的方法
  • flash+php+mysql打造简单留言本教程
  • PHP生成Flash动画的实现代码
  • 使用PHP提取视频网站页面中的FLASH地址的代码
  • flash用php连接数据库的代码
  • php中使用getimagesize获取图片、flash等文件的尺寸信息实例
  • PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
  • php获取flash尺寸详细数据的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端