Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adriengibrat/torrent-rw

php5 class to read and write .torrent files
https://github.com/adriengibrat/torrent-rw

Last synced: 25 days ago
JSON representation

php5 class to read and write .torrent files

Awesome Lists containing this project

README

        

Torrent RW

PHP version 5.2+

1) Features:
- Decode torrent file or data
- Build torrent from source folder/file(s)
- Silent Exception error system

2) Usage example
```php
require_once 'Torrent.php';

// get torrent infos
$torrent = new Torrent( './test.torrent' );
echo '
private: ', $torrent->is_private() ? 'yes' : 'no',
'
annonce: ', $torrent->announce(),
'
name: ', $torrent->name(),
'
comment: ', $torrent->comment(),
'
piece_length: ', $torrent->piece_length(),
'
size: ', $torrent->size( 2 ),
'
hash info: ', $torrent->hash_info(),
'
stats: ';
var_dump( $torrent->scrape() );
echo '
content: ';
var_dump( $torrent->content() );
echo '
source: ',
$torrent;

// get magnet link
$torrent->magnet(); // use $torrent->magnet( false ); to get non html encoded ampersand

// create torrent
$torrent = new Torrent( array( 'test.mp3', 'test.jpg' ), 'http://torrent.tracker/annonce' );
$torrent->save('test.torrent'); // save to disk

// modify torrent
$torrent->announce('http://alternate-torrent.tracker/annonce'); // add a tracker
$torrent->announce(false); // reset announce trackers
$torrent->announce(array('http://torrent.tracker/annonce', 'http://alternate-torrent.tracker/annonce')); // set tracker(s), it also works with a 'one tracker' array...
$torrent->announce(array(array('http://torrent.tracker/annonce', 'http://alternate-torrent.tracker/annonce'), 'http://another-torrent.tracker/annonce')); // set tiered trackers
$torrent->comment('hello world');
$torrent->name('test torrent');
$torrent->is_private(true);
$torrent->httpseeds('http://file-hosting.domain/path/'); // Bittornado implementation
$torrent->url_list(array('http://file-hosting.domain/path/','http://another-file-hosting.domain/path/')); // GetRight implementation

// print errors
if ( $errors = $torrent->errors() )
var_dump( $errors );

// send to user
$torrent->send();
```