在好例子网,分享、交流、成长!
您当前所在位置:首页PHP 开发实例PHP语言基础 → 附件是BT种子时显示详细资源信息插件

附件是BT种子时显示详细资源信息插件

PHP语言基础

下载此实例
  • 开发语言:PHP
  • 实例大小:5.52KB
  • 下载次数:15
  • 浏览次数:328
  • 发布时间:2015-01-04
  • 实例类别:PHP语言基础
  • 发 布 人:节省空间都
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 种子 插件

实例介绍

【实例简介】
【实例截图】

【核心代码】

<?php

require "./include/common.inc.php";

@$query = $db->query("SELECT attachment, filename FROM {$tablepre}attachments WHERE aid='$aid'");
if ($query) {
  $btfile=$db->fetch_array($query);
  $btfileext = $btfile['filename'];
  $btfilename = $btfile['attachment'];
}
else {
	echo 'database_error';
	dexit();
}

if (strlen($btfilename) == 0) {
  echo 'no_attach';
  dexit();
}

$fjcd=strlen($btfilename)-8;
if (strtolower(fileext($btfileext))!= "torrent") {
  echo 'not_torrent';
  dexit();
}

$btfilename="./attachments/".$btfilename;

include("include/BDecode.php");
include("include/BEncode.php");
      
function announceoutput($array)
{
	if (!isset($array["peers"][0]))
	{
		echo "Not a tracker announce block. Falling back on classic.<BR><BR>";
		classicoutput($array, "(Not checked)");
		exit;
	}
	echo "<H2>Client configuration options</H2>";
	echo "<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=2> ";
	foreach ($array as $left => $right)
	{
		if ($left == "peers")
			continue;
		if (is_array($right))
			$myright = "<I>Error</I>";
		else
			$myright = $right;
		echo "<TR><TD ALIGN=RIGHT>".$left."</TD><TD>".$myright."</TD></TR>\n";
	}
	echo "</TABLE><BR><H2>Peers</H2><PRE>";
	foreach ($array["peers"] as $data)
	{
		if (!is_array($data)) // special case: [0] == true  means empty list
		{
			echo "(Empty results)\n";
			break;
		}
		echo bin2hex($data["peer id"])." at ".$data["ip"].":".$data["port"]."\n";
	}
	echo "</PRE>";
}

function classicoutput($array, $infohash)
{

	if (isset($array["info"]["pieces"]))
		$array["info"]["pieces"] = "<i>Checksum data (" . strlen ($array["info"]["pieces"]) / 20 . " pieces)</i>";


	//echo "Info hash: <TT>$infohash</TT><BR>";
	echo "<PRE>";

		//print_r(cleaner($array));

	echo "</PRE>";

}

function escapeURL($url)
{
	$ret = "";
	$i=0;
	while (strlen($url) > $i)
	{
		$ret .= "%".$url[$i].$url[$i   1];
		$i =2;
	}
	return $ret;
}


function cleaner($array)
{
	if (!is_array($array))
		return $array;
	$newarray = array();
	foreach($array as $left => $right)
	{
		if (is_string($left))
			$newleft = stringcleaner(stripslashes($left));
		else
			$newleft = $left;

		if (is_string($right))
			$newright = stringcleaner($right);
		else if (is_array($right))
			$newright = cleaner($right);
		else
			$newright = $right;

		$newarray[$newleft] = $newright;
	}
	return $newarray;
}

function stringcleaner($str)
{
	
	$len = strlen($str);
	for ($i=0; $i < $len; $i   )
	{
		if (ord($str[$i]) < 32 || ord($str[$i]) > 128)
			return "<B>".bin2hex($str)."</B>";
	}
	return $str;
}

function sizecount($filesize) {
	if($filesize >= 1073741824) {
		$filesize = round($filesize / 1073741824 * 100) / 100 . ' GB';
	} elseif($filesize >= 1048576) {
		$filesize = round($filesize / 1048576 * 100) / 100 . ' MB';
	} elseif($filesize >= 1024) {
		$filesize = round($filesize / 1024 * 100) / 100 . ' KB';
	} else {
		$filesize = $filesize . ' Bytes';
	}
	return $filesize;
}

$fd = @fopen($btfilename, "rb");
if (!$fd) {
	showmessage("该附件可能已被删除");
}
$alltorrent = fread($fd, filesize($btfilename));
		fclose($fd);
$array = BDecode($alltorrent);
$infohash = "<I>Not applicable</I>";

if (isset($array["info"]))
		if (is_array($array["info"])) {
			if (function_exists("sha1"))
				$infohash = sha1(BEncode($array["info"]));
			else
				$infohash = "(PHP 4.3.0 or greater is required for hashing)</TT><BR>";
		}

		if (isset($array["creation date"])) {
			if (is_numeric($array["creation date"]))
				$data=date("Y 年 m 月 d 日", $array["creation date"]);
			else
				$data=$array["creation date"];
		}
		
		$info = $array["info"]; // I'll need it
		
		if (isset($info["files"])) {
			foreach ($info["files"] as $file) {
				if (isset($file["path"][1])) {
					$files.=$file["path"][0];
					for ($i=1; isset($file["path"][$i]); $i  )
						$files.="/".$file["path"][$i];
				}
				else {
					$files.=$file["path"][0];
				}
				$files.= "&nbsp;&nbsp;&nbsp;<font color='blue'>(".sizecount($file["length"]).")</font><BR>";
				$allsize=$allsize $file["length"];
			}
		}
		else {
			$files=$info["name"]."&nbsp;&nbsp;&nbsp;<font color='blue'>(".sizecount($info["length"]).")</font>";
			$info["name"]="";
      $allsize=$info["length"];
    }

$allsize=sizecount($allsize);
include template('track');

?>

标签: 种子 插件

实例下载地址

附件是BT种子时显示详细资源信息插件

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 sansiz888 发表于: 2016-03-29 20:39 06
我特别想下载

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警