示例#1
0
<?php

// ---------------------------------------
// This is how to set up an announce URL.
// ---------------------------------------
// Registering autoloader, essential to use the library.
require dirname(__FILE__) . '/lib/PHPTracker/Autoloader.php';
PHPTracker_Autoloader::register();
// Creating a simple config object. You can replace this with your object
// implementing PHPTracker_Config_Interface.
$config = new PHPTracker_Config_Simple(array('persistence' => new PHPTracker_Persistence_Mysql(new PHPTracker_Config_Simple(array('db_host' => 'localhost', 'db_user' => 'misc', 'db_password' => 'misc', 'db_name' => 'misc'))), 'ip' => $_SERVER['REMOTE_ADDR'], 'interval' => 60));
// Core class managing the announcements.
$core = new PHPTracker_Core($config);
// We take the parameters the client is sending and initialize a config
// object with them. Again, you can implement your own Config class to do this.
$get = new PHPTracker_Config_Simple($_GET);
// We simply send back the results of the announce method to the client.
echo $core->announce($get);
<?php

// -----------------------------------------------------------
// This is how to create a .torrent file from a physical file.
// -----------------------------------------------------------
// Registering autoloader, essential to use the library.
require dirname(__FILE__) . '/lib/PHPTracker/Autoloader.php';
PHPTracker_Autoloader::register();
// Creating a simple config object. You can replace this with your object
// implementing PHPTracker_Config_Interface.
$config = new PHPTracker_Config_Simple(array('persistence' => new PHPTracker_Persistence_Mysql(new PHPTracker_Config_Simple(array('db_host' => 'localhost', 'db_user' => 'misc', 'db_password' => 'misc', 'db_name' => 'misc'))), 'announce' => array('http://php-tracker.dev/example_announce.php')));
// Core class managing creating the file.
$core = new PHPTracker_Core($config);
// Setting appropiate HTTP header and sending back the .torrrent file.
// This is VERY inefficient to do! SAVE the .torrent file on your server and
// serve the saved copy!
header('Content-Type: application/x-bittorrent');
header('Content-Disposition: attachment; filename="test.torrent"');
// The first parameters is a path (can be absolute) of the file,
// the second is the piece size in bytes.
echo $core->createTorrent('../test.avi', 524288);
// You can also specify basename for the file in the torrent (if different from physical):
// echo $core->createTorrent( '../test.avi', 524288, 'puderzucker.avi' );