PHP读取FLASH 文件信息

发表时间:2011-03-17 文章分类:PHP 阅读:7133

文章链接:http://www.webzone8.com/article/118.html
  

<?php
/*
示例:
  $file = '/data/ad_files/5/5.swf';
  $flash = new FLASH();
  $flash = $flash->getSwfInfo($file);
  echo "<br>文件的宽高是:".$flash["width"].":".$info["height"];
  echo "<br>文件版本是".$flash["version"];
  echo "<br>文件帧数量是".$flash["frameCount"];
  echo "<br>文件帧速率是".$flash["frameRate"];
  echo "<br>文件背景颜色是".$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))."<br>";
    } else {
       //echo "目标文件不存在!";
       return array( "error" => $filename ) ;
    }

    //打开文件
    $rs = fopen($filename,"r");
   
    //读取文件的数据
    $str = fread( $rs , filesize( $filename ) ) ;
    ///
    if($str[0] == "F")
    {
       //echo "<br>文件已是解压缩的文件:";
    } else {
       $first = substr($str,0,8);
       $last = substr($str,8);
       //
       $last = gzuncompress($last);
       //
       $str = $first . $last ;
       $str[0] = "F";
       //echo "<br>解压缩后的文件信息:";
    }

    $info = $this->getInfo( $str );
    fclose ( $rs ) ;
    return $info;
  }

  private function mydecbin($str,$index)
  {
    $fbin = decbin(ord($str[$index]));
    while(strlen($fbin)<8)$fbin="0".$fbin;
    return $fbin;
  }

  private function colorhex($data)
  {
    $tmp = dechex($data);
    if ( strlen($tmp)<2 ) {
      $tmp='0' . $tmp ;
    }
    return $tmp;
  }

  private function getInfo( $str )
  {
    //换算成二进制
    $fbin = $this->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 < $recsize + 8 ; $i++ )
    {
       $recbin .= $this->mydecbin( $str ,$i );
    }

    //rec数据
    $rec = array();
    for( $i = 0 ; $i < 4 ; $i++ )
    {
       $rec[] = bindec( substr( $recbin , 5 + $i * $slen , $slen ) ) / 20 ;
    }
   
    if ( $this->need_back_color ) {
      //背景颜色
      for( $i = $recsize + 12 ; $i < strlen ( $str ) ; $i ++ )
      {
         if ( ord( $str[$i] ) == 67 && ord( $str[$i+1] ) == 2 )
         {
          $bgcolor = $this->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]
            );
  }
}

?>
 
有趣的视频娱乐一下

原文链接:http://www.webzone8.com/article/118.html

用户评论

用户【62.122.182*****】说:обивка мягкой мебели в Нахабино [url=http://glavobivka.ru/node/190]обивка мягкой мебели в Красногорске[/url]

用户【62.122.182*****】说:заказать выписка из егрн срочно [url=http://fast-egrn.ru]выписка из егрюл за день[/url][url=http://fast-egrn.ru]заказать выписку егрн срочно[/url][url=http://fast-egrn.ru]выписка егрюл налоговая официальный сайт[/url][url=http://fast-egrn.ru]егрн официальный[/url][url=http://fast-egrn.ru]заказать выписки из егрн[/url]

用户【62.122.182*****】说:заказать выписку из егрюл с доставкой [url=http://fast-egrn.ru]выписка из егрюл без выходных[/url][url=http://fast-egrn.ru]заказать выписку из егрюл с доставкой срочно[/url][url=http://fast-egrn.ru]заказать выписку из егрюл москва[/url][url=http://fast-egrn.ru]выписка из егрюл заказать с доставкой москва[/url][url=http://fast-egrn.ru]егрн и егрюл отличия[/url]

用户【80.252.154*****】说:выписки из егрн срочно [url=http://fast-egrn.ru]налоговая инспекция выписка из егрип по инн[/url]

用户【80.252.154*****】说:заказ выписки из егрюл с доставкой срочно [url=http://fast-egrn.ru]заказать выписку из егрюл с доставкой[/url]

用户【62.122.182*****】说:&lt;a href=&quot;http://muku-optom.ru&quot;&gt;займ 100 000 без проверки кредитной истории&lt;/a&gt;

用户【80.252.154*****】说:[url=http://antonbondarets.ru]микрозаймы без отказа на карту[/url] http://green-blade.ru

用户【188.163.10*****】说:Golden Mine - A game with Earnings and High! http://golden-mines.biz/?i=444768

用户【62.122.182*****】说:Носки со снегирями [url=https://vk.com/noski_so_snegiryami]Носки со снегирями[/url]

用户【80.252.154*****】说:[url=https://lukomore72.ru]Посуточная аренда коттеджей[/url]

用户【80.252.154*****】说:[url=https://lukomore72.ru]Посуточная аренда коттеджей[/url]

用户【80.252.154*****】说:[url=https://www.nevaonline.ru/]купить шины и диски[/url]

用户【62.122.182*****】说:егрн официальный [url=http://fast-egrn.ru]срочные выписки из егрн[/url][url=http://fast-egrn.ru]выписка из егрюл срочно с доставкой[/url][url=http://fast-egrn.ru]заказать срочную выписку егрн[/url][url=http://fast-egrn.ru]срочная выписка егрн с печатью[/url][url=http://fast-egrn.ru]оплата выписок из егрюл[/url]

用户【62.122.182*****】说:срочное получение выписки из егрн [url=http://fast-egrn.ru]заказать выписки из егрн срочно дешево москва[/url][url=http://fast-egrn.ru]срок годности выписки из егрн[/url][url=http://fast-egrn.ru]купить выписку из егрн[/url][url=http://fast-egrn.ru]срочные выписки из егрн[/url][url=http://fast-egrn.ru]выписки из егрюл с доставкой[/url]

用户【62.122.182*****】说:Такси межгород Новосибирск специализируется на междугородних пассажирских перевозках из Новосибирска и аэропорта Толмачево по Новосибирской области и всей России и Казахстану.&lt;br&gt; Так же доставляем пассажиров из других городов в г. Новосибирск и аэропорт Толмачево.&lt;br&gt; Возможно, Вы подумаете, что ездить на такси из города в город — это дорого? Ничего подобного, мы разработали для Вас специальные цены, с которыми можно ознакомиться в разделе тарифы.&lt;br&gt; Заказав междугороднее такси Новосибирск у нас, Вы можете больше не смотреть на расписание самолетов, поездов или автобусов. Мы отследим прилет самолета, прибытие поезда и автобуса, в случае задержек транспорта, ожидание для Вас будет бесплатно. Поможем донести, разместить и довезти Ваш багаж бесплатно.&lt;br&gt; Мы предоставляем:&lt;br&gt; Ожидание аэропорт «Толмачево» бесплатно. &lt;br&gt; Ожидание жд вокзал, автовокзал бесплатно. &lt;br&gt; Остановки, ожидание во время пути бесплатно. &lt;br&gt; Автомобили импортного производства. Легковые, минивэны.&lt;br&gt; Опытные водители, славянской внешности, граждане России.&lt;br&gt; Детское кресло, регулирующееся в 3 положениях (сидя, полулежа, лежа).&lt;br&gt; Багажник на крышу авто и крепления для лыж и сноубордов.&lt;br&gt; Проезд с животными.&lt;br&gt; Фиксированная стоимость.&lt;br&gt; Безналичный расчет. &lt;br&gt; Квитанции строгой отчетности. &lt;br&gt; Для того, чтобы выехать в нужный Вам город достаточно позвонить по телефону&lt;br&gt; +7-913-7-444-154 (круглосуточно). &lt;br&gt; Если Вы планируете поехать не один, то поездка на междугороднем такси из Новосибирска может выйти дешевле, чем на поезде, при этом Вы доедете быстрее и комфортнее. Автомобиль довезет Вас от дома прямо до места назначения, без необходимости ехать на вокзал и покупать билеты заранее. Также, при заказе дешевого такси межгород из Новосибирска, Вам нет необходимости нести тяжелый багаж, его достаточно погрузить в багажник около Вашего подъезда. Самый главный плюс использования автотранспорта в междугородних перемещениях — Вы приедете в пункт назначения точно в срок!&lt;br&gt; Мы заботимся о комфорте и безопасности наших пассажиров, опыт безопасного вождения 24 года. &lt;br&gt; Скидка 5% постоянным клиентам.&lt;br&gt; Скидка 5% при предварительном заказе (не менее суток).&lt;br&gt; Заказывайте поездку по телефону &lt;br&gt; МТС +7-913-7-444-154 WhatsUp, Viber (круглосуточно) &lt;br&gt; [url=http://taksi154.ru/]междугороднее такси Новосибирска[/url]

12345678910...17下一页

发表评论

姓名:*
邮箱:*
网站:*