亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

php讀取torrent種子文件內(nèi)容的方法(測試可用)
來源:易賢網(wǎng) 閱讀:1958 次 日期:2016-08-25 14:59:12
溫馨提示:易賢網(wǎng)小編為您整理了“php讀取torrent種子文件內(nèi)容的方法(測試可用)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了php讀取torrent種子文件內(nèi)容的方法,可實(shí)現(xiàn)讀取并顯示torrent種子文件內(nèi)容的功能,簡單實(shí)用,需要的朋友可以參考下

<?php

/**

 * Class xBEncoder

 * Author: Angus.Fenying

 * Version: 0.1

 * Date:  2014-06-03

 *

 *  This class helps stringify or parse BENC

 *  codes.

 *

 * All Copyrights 2007 - 2014 Fenying Studio Reserved.

 */

class xBEncoder

{

  const READY = 0;

  const READ_STR = 1;

  const READ_DICT = 2;

  const READ_LIST = 3;

  const READ_INT = 4;

  const READ_KEY = 5;

  public $y;

  protected $z, $m, $n;

  protected $stat;

  protected $stack;

  /**

   * This method saves the status of current

   * encode/decode work.

   */

  protected function push($newY, $newStat)

  {

    array_push($this->stack, array($this->y, $this->z, $this->m, $this->n, $this->stat));

    list($this->y, $this->z, $this->m, $this->n, $this->stat) = array($newY, 0, 0, 0, $newStat);

  }

  /**

   * This method restore the saved status of current

   * encode/decode work.

   */

  protected function pop()

  {

    $t = array_pop($this->stack);

    if ($t) {

      if ($t[4] == self::READ_DICT) {

        $t[0]->{$t[1]} = $this->y;

        $t[1] = 0;

      } elseif ($t[4] == self::READ_LIST)

        $t[0][] = $this->y;

      list($this->y, $this->z, $this->m, $this->n, $this->stat) = $t;

    }

  }

  /**

   * This method initializes the status of work.

   * YOU SHOULD CALL THIS METHOD BEFORE EVERYTHING.

   */

  public function init()

  {

    $this->stat = self::READY;

    $this->stack = array();

    $this->z = $this->m = $this->n = 0;

  }

  /**

   * This method decode $s($l as length).

   * You can get $obj->y as the result.

   */

  public function decode($s, $l)

  {

    $this->y = 0;

    for ($i = 0; $i < $l; ++$i) {

      switch ($this->stat) {

        case self::READY:

          if ($s[$i] == 'd') {

            $this->y = new xBDict();

            $this->stat = self::READ_DICT;

          } elseif ($s[$i] == 'l') {

            $this->y = array();

            $this->stat = self::READ_LIST;

          }

          break;

        case self::READ_INT:

          if ($s[$i] == 'e') {

            $this->y->val = substr($s, $this->m, $i - $this->m);

            $this->pop();

          }

          break;

        case self::READ_STR:

          if (xBInt::isNum($s[$i]))

            continue;

          if ($s[$i] = ':') {

            $this->z = substr($s, $this->m, $i - $this->m);

            $this->y = substr($s, $i + 1, $this->z + 0);

            $i += $this->z;

            $this->pop();

          }

          break;

        case self::READ_KEY:

          if (xBInt::isNum($s[$i]))

            continue;

          if ($s[$i] = ':') {

            $this->n = substr($s, $this->m, $i - $this->m);

            $this->z = substr($s, $i + 1, $this->n + 0);

            $i += $this->n;

            $this->stat = self::READ_DICT;

          }

          break;

        case self::READ_DICT:

          if ($s[$i] == 'e') {

            $this->pop();

            break;

          } elseif (!$this->z) {

            $this->m = $i;

            $this->stat = self::READ_KEY;

            break;

          }

        case self::READ_LIST:

          switch ($s[$i]) {

            case 'e':

              $this->pop();

              break;

            case 'd':

              $this->push(new xBDict(), self::READ_DICT);

              break;

            case 'i':

              $this->push(new xBInt(), self::READ_INT);

              $this->m = $i + 1;

              break;

            case 'l':

              $this->push(array(), self::READ_LIST);

              break;

            default:

              if (xBInt::isNum($s[$i])) {

                $this->push('', self::READ_STR);

                $this->m = $i;

              }

          }

          break;

      }

    }

    $rtn = empty($this->stack);

    $this->init();

    return $rtn;

  }

  /**

   * This method encode $obj->y into BEncode.

   */

  public function encode()

  {

    return $this->_encDo($this->y);

  }

  protected function _encStr($str)

  {

    return strlen($str) . ':' . $str;

  }

  protected function _encDo($o)

  {

    if (is_string($o))

      return $this->_encStr($o);

    if ($o instanceof xBInt)

      return 'i' . $o->val . 'e';

    if ($o instanceof xBDict) {

      $r = 'd';

      foreach ($o as $k => $c)

        $r .= $this->_encStr($k) . $this->_encDo($c);

      return $r . 'e';

    }

    if (is_array($o)) {

      $r = 'l';

      foreach ($o as $c)

        $r .= $this->_encDo($c);

      return $r . 'e';

    }

  }

}

class xBDict

{

}

class xBInt

{

  public $val;

  public function __construct($val = 0)

  {

    $this->val = $val;

  }

  public static function isNum($chr)

  {

    $chr = ord($chr);

    if ($chr <= 57 && $chr >= 48)

      return true;

    return false;

  }

}

//使用實(shí)例

$s = file_get_contents("test.torrent");

$bc = new xBEncoder();

$bc->init();

$bc->decode($s, strlen($s));

var_dump($bc->y);

希望本文所述對大家PHP程序設(shè)計有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:php讀取torrent種子文件內(nèi)容的方法(測試可用)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
国产综合自拍| 亚洲激情影院| 激情自拍一区| 日韩亚洲国产精品| 亚洲一区二区三区涩| 久久精品国产清高在天天线| 欧美尤物一区| 亚洲精华国产欧美| 久久久www| 影音先锋日韩资源| 亚洲综合社区| 亚洲成色精品| 久久精品伊人| 99精品视频免费| 久久综合一区| 国产一区二区三区久久久久久久久| 久久婷婷麻豆| 一区二区三区四区五区在线| 欧美国产另类| 亚洲少妇一区| 激情欧美国产欧美| 亚洲欧美日韩精品综合在线观看| 久久综合久久久| 韩日精品视频| 久久国产一区| 一本色道久久| 黄色成人精品网站| 久久成人亚洲| 国产精品日本一区二区 | 亚洲性图久久| 久久久夜精品| 国产精品综合色区在线观看| 亚洲网站在线| 欧美日韩系列| 欧美激情一区| 久久亚洲一区| 久久九九免费| 国产精品日韩久久久| 樱桃成人精品视频在线播放| 欧美日本一区| 欧美1区视频| 久久久久欧美| 久久综合一区二区三区| 欧美一区=区| 亚洲欧美日韩国产一区二区| 国产精品毛片| 香蕉久久夜色精品| 欧美在线综合| 久久精品伊人| 欧美二区视频| 黄色免费成人| 久久这里只有| 亚洲午夜极品| 国内精品久久久久久久97牛牛| 免费久久99精品国产自| 亚洲一区二区三区四区中文 | 国产日韩欧美一区二区三区四区 | 激情一区二区三区| 激情欧美丁香| 日韩午夜黄色| 免费久久久一本精品久久区| 久久另类ts人妖一区二区| 欧美成人蜜桃| 国内精品一区二区| 亚洲精品一级| 久久精品亚洲| 精品二区视频| 久久高清免费观看| 欧美精品亚洲精品| 亚洲黄色成人| 久久亚洲午夜电影| 激情综合亚洲| 欧美亚洲一区| 黄色精品网站| 另类激情亚洲| 亚洲欧洲日韩综合二区| 亚洲一区久久| 国内一区二区三区在线视频| 亚洲最黄网站| 国产精品v欧美精品v日韩| 在线一区日本视频| 欧美日韩国产在线一区| 99精品99| 国外成人免费视频| 美女黄色成人网| 亚洲经典视频在线观看| 欧美在线日韩精品| 国产精品久久九九| 精品999日本| 欧美福利一区| 欧美专区一区二区三区| 亚洲看片免费| 在线观看欧美亚洲| 午夜电影亚洲| 久久精品欧洲| 国产精品日韩二区| 亚洲国产一区二区三区高清| 欧美日韩精品免费观看视一区二区| 国产三区精品| 99热这里只有精品8| 黄色成人精品网站| 久久一日本道色综合久久| 国产精品一区毛片| 夜夜嗨网站十八久久| 国产综合色产| 国产精品xvideos88| 久久一综合视频| 久久av一区| 亚洲一区日韩在线| 国产精品普通话对白| 亚洲久久一区二区| 亚洲经典三级| 亚洲乱码久久| 日韩天堂av| 亚洲精品视频啊美女在线直播| 欧美午夜欧美| 在线观看福利一区| 尹人成人综合网| 亚洲国产日韩综合一区| 1000部精品久久久久久久久| 亚洲国产三级| 国产日韩三区| 亚洲免费综合| 久久av一区二区| 久久综合九色综合欧美狠狠| 老司机久久99久久精品播放免费| 老司机精品导航| 国产精品hd| 亚洲日本黄色| 亚洲欧美日韩一区在线观看| 鲁鲁狠狠狠7777一区二区| 久久久噜噜噜| 亚洲午夜精品久久久久久浪潮| 1000部精品久久久久久久久| 中文一区二区| 麻豆久久久9性大片| 午夜久久影院| 亚洲伦伦在线| 久久精品亚洲| 亚洲成人直播| 欧美一级久久| 精品91久久久久| 免费国产自线拍一欧美视频| 欧美精品在线一区| 亚洲人成人一区二区三区| 亚洲一区成人| 黄色成人精品网站| 国产嫩草一区二区三区在线观看| 欧美喷水视频| 亚洲三级影院| 久久资源在线| 亚洲人体偷拍| 欧美精品v日韩精品v国产精品| 亚洲激情一区二区| 久久久久久国产精品一区| 黄色成人精品网站| 久久国产一区二区| 亚洲欧洲一区二区在线观看| 久久久一本精品99久久精品66| 亚洲视频中文| 久久综合婷婷| 国产精品女主播一区二区三区| 久久婷婷丁香| 国产私拍一区| 亚洲电影av| 欧美激情第二页| 国产精品一区二区三区四区五区 | 久久狠狠婷婷| 99精品视频免费观看| 午夜精品剧场| 欧美亚洲三区| 国产欧美日韩综合一区在线观看| 欧美日韩综合精品| 噜噜噜91成人网| 国产一区二区三区久久| 国产精品二区在线| 久久亚洲二区| 蘑菇福利视频一区播放| 国产精品裸体一区二区三区| 亚洲久久一区| 一本色道久久| 一区二区日韩免费看| 亚洲清纯自拍| 日韩午夜视频在线观看| 亚洲欧洲视频| 夜久久久久久| 国产欧美综合一区二区三区| 99在线观看免费视频精品观看| 在线国产欧美| 亚洲精品一区二区三区av| 激情文学一区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一区二区在线观看免费播放| 欧美日韩精品一区| 欧美淫片网站| 欧美日韩一区二区国产| 国产精品扒开腿做爽爽爽软件| 欧美久色视频| 一区二区视频欧美| 99精品免费| 免费在线国产精品| 看欧美日韩国产| 国产一区二区无遮挡| 在线播放亚洲| 亚洲精品在线二区| 亚洲影视在线| 午夜久久福利| 亚洲三级视频| 美女日韩在线中文字幕| 狂野欧美性猛交xxxx巴西| 欧美午夜不卡影院在线观看完整版免费| 欧美破处大片在线视频| 国产精品xxx在线观看www| 在线免费观看欧美| 亚洲一区二区三区精品动漫| 欧美+日本+国产+在线a∨观看| 狠狠综合久久| 男人的天堂成人在线| 国内自拍视频一区二区三区| 一本久道久久久| 欧美99久久| 一本综合久久| 欧美视频在线观看| 国产日产高清欧美一区二区三区| 久久综合五月| 在线亚洲伦理| 国语自产精品视频在线看8查询8| 国产欧美一区二区视频| 欧美成人一区二区在线| 日韩视频久久| 国产精品二区二区三区| 性欧美精品高清| 最新亚洲一区| 欧美精品亚洲| 新67194成人永久网站| 亚洲无线视频| 老妇喷水一区二区三区| 99热免费精品在线观看| 国产精品草草| 玖玖在线精品| 鲁大师成人一区二区三区| 亚洲精品精选| 狠狠久久婷婷| 欧美日韩喷水| 久久这里只有| 免费看的黄色欧美网站| 在线日韩中文| 狠狠入ady亚洲精品经典电影| 久久久福利视频| 国产精品夜夜夜| 一区二区精品| 亚洲精品一区二区三| 国内精品嫩模av私拍在线观看| 久久精品一区二区三区中文字幕| 国产日韩欧美在线播放不卡| 亚洲黄色高清| 亚洲黄色毛片| 99热免费精品| 在线视频精品一区| 99在线观看免费视频精品观看| 亚洲大胆在线| 亚洲精品偷拍| 一区二区三区四区国产| 99精品福利视频| 国产日韩精品久久| 亚洲一区二区伦理| 亚洲欧美久久久久一区二区三区| 国产亚洲亚洲| 免费欧美在线| 亚洲欧美文学| 国产在线欧美日韩| 亚洲成人在线| 国产情侣久久| 久久精品女人天堂| 欧美女激情福利| 亚洲五月婷婷| 国产欧美综合一区二区三区| 国产一区二区三区免费不卡| 亚洲免费一区二区| 久久综合图片| 精品1区2区3区4区| 一本色道久久综合亚洲精品不卡| 9色国产精品| 久久狠狠久久综合桃花| 欧美日韩无遮挡| 91久久久久| 亚洲欧美清纯在线制服| 欧美韩日精品| 亚洲免费激情| 久久一区欧美| 亚洲国产精品毛片| 午夜一级久久| 国产精品va| 国产伦理一区| 黑人一区二区三区四区五区| 99国产精品视频免费观看一公开 | 久久国产日韩| 韩日欧美一区| 欧美在线综合| 激情综合久久| 久久久久久穴| 亚洲精品欧洲| 欧美区一区二| 亚洲中午字幕| 亚洲国产精品一区二区第四页av| 亚洲中字黄色| 亚洲久久一区| 欧美三级第一页| 亚洲一区激情| 亚洲区一区二区三区| 久久一区中文字幕| 亚洲深爱激情| 亚洲黄色成人| 狠狠入ady亚洲精品| 久久精品五月婷婷| 国产欧美日韩综合一区在线播放| 欧美另类一区| 久久综合九色99| 亚洲一区二区网站| 亚洲国产日本| 国内久久视频| 欧美日韩1区2区3区| 久久www成人_看片免费不卡| 99国内精品| 亚洲欧洲在线一区| 国内自拍视频一区二区三区| 久久av一区二区三区| 99xxxx成人网| 亚洲理论在线| 99热这里只有成人精品国产| 在线观看的日韩av| 激情视频一区| 亚洲国产精品久久久久婷婷老年| 国产一区久久| 亚洲午夜精品福利| 欧美亚州在线观看| 国产一区高清视频| 国产自产精品| 国产在线观看一区| 亚洲小说区图片区| 亚洲午夜久久久久久尤物| 欧美日韩综合另类| 国内成+人亚洲| 狠狠色丁香久久综合频道| 欧美午夜精品理论片a级大开眼界| 午夜久久美女| 黄色成人精品网站| 亚洲黄色av| 中文日韩在线| 麻豆成人精品| 欧美激情 亚洲a∨综合| 欧美日韩国产在线一区| 欧美性天天影院| 亚洲青色在线| 国产伦精品一区二区三区高清版| 午夜在线播放视频欧美| 久久精品女人天堂| 欧美日本免费| 最新亚洲视频| 免费h精品视频在线播放| 狂野欧美性猛交xxxx巴西| 欧美区国产区| 亚洲国产网站| 男人的天堂亚洲| 欧美午夜国产| 国产欧美不卡| 欧美全黄视频| 国产欧美日韩一区| 久久天堂成人| 亚洲国产精品综合| 亚洲在线日韩| 欧美三区不卡| 在线视频精品一区| 午夜久久黄色| 制服诱惑一区二区| 欧美日韩国产在线一区| 99热免费精品| 国产精品vip| 亚洲自啪免费| 影音先锋中文字幕一区| 美女精品国产| 一本色道久久综合亚洲精品不卡| 葵司免费一区二区三区四区五区| 亚洲国产欧美日韩| 久热国产精品| 国产精品手机在线| 精品成人在线| 午夜视频久久久| 翔田千里一区二区| 亚洲精品社区| 激情综合亚洲| 欧美日韩亚洲一区二区三区四区| 国产乱码精品一区二区三区不卡| 黄色工厂这里只有精品| 久久一区精品| 久久国产一区| 久久福利电影| 亚洲影院一区| 国产精品夜夜夜一区二区三区尤| 狠狠入ady亚洲精品|