File_Bittorrent2
[ class tree: File_Bittorrent2 ] [ index: File_Bittorrent2 ] [ all elements ]

Source for file torrentinfo.php

Documentation is available at torrentinfo.php

  1. <?php
  2.  
  3.     // +----------------------------------------------------------------------+
  4.     // | Decode and Encode data in Bittorrent format                          |
  5.     // +----------------------------------------------------------------------+
  6.     // | Copyright (C) 2004-2005 Markus Tacker <m@tacker.org>                 |
  7.     // +----------------------------------------------------------------------+
  8.     // | This library is free software; you can redistribute it and/or        |
  9.     // | modify it under the terms of the GNU Lesser General Public           |
  10.     // | License as published by the Free Software Foundation; either         |
  11.     // | version 2.1 of the License, or (at your option) any later version.   |
  12.     // |                                                                      |
  13.     // | This library is distributed in the hope that it will be useful,      |
  14.     // | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
  15.     // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
  16.     // | Lesser General Public License for more details.                      |
  17.     // |                                                                      |
  18.     // | You should have received a copy of the GNU Lesser General Public     |
  19.     // | License along with this library; if not, write to the                |
  20.     // | Free Software Foundation, Inc.                                       |
  21.     // | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA               |
  22.     // +----------------------------------------------------------------------+
  23.  
  24.     /**
  25.     * File_Bittorrent2 Example
  26.     * Get Info from a .torrent file
  27.     *
  28.     * Usage:
  29.     *   # php torrentinfo.php -t file.torrent
  30.     *
  31.     * @author Markus Tacker <m@tacker.org>
  32.     * @version $Id: torrentinfo.php 77 2007-08-26 09:42:22Z m $
  33.     */
  34.  
  35.     // Includes
  36.     require_once 'File/Bittorrent2/Decode.php';
  37.     require_once 'Console/Getargs.php';
  38.  
  39.     // Get filename from command line
  40.     $args_config = array(
  41.         'torrent' => array(
  42.             'short' => 't',
  43.             'min' => 1,
  44.             'max' => 1,
  45.             'desc' => 'Filename of the torrent'
  46.         ),
  47.     );
  48.     $args =Console_Getargs::factory($args_config);
  49.     if (PEAR::isError($argsor !($torrent $args->getValue('torrent'))) {
  50.         echo Console_Getargs::getHelp($args_config)."\n";
  51.         exit;
  52.     }
  53.  
  54.     if (!is_readable($torrent)) {
  55.         echo 'ERROR: "' $torrent "\" is not readable.\n";
  56.         exit;
  57.     }
  58.  
  59.     $File_Bittorrent2_Decode = new File_Bittorrent2_Decode;
  60.     $info $File_Bittorrent2_Decode->decodeFile($torrent);
  61.  
  62.     foreach ($info as $key => $val{
  63.         echo str_pad($key ': '20' 'STR_PAD_LEFT);
  64.         switch($key{
  65.         case 'files':
  66.             $n = 1;
  67.             $files_n count($val);
  68.             $n_length strlen($files_n);
  69.             echo '(' $files_n ")\n";
  70.             foreach ($val as $file{
  71.                 echo str_repeat(' '20'' str_pad($n$n_length' 'PAD_LEFT': ' $file['filename'"\n";
  72.                 $n++;
  73.             }
  74.             break;
  75.         case 'announce_list':
  76.             echo "\n";
  77.             foreach ($val as $list{
  78.                 echo str_repeat(' '20'- ' join(', '$list"\n";
  79.             }
  80.             break;
  81.         default:
  82.             echo $val "\n";
  83.         }
  84.     }
  85.  
  86.     echo "\n";
  87.  
  88. ?>

Documentation generated on Mon, 11 Mar 2019 15:31:15 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.