能用PHP打开BT种子并下载到服务器端吗? 我想把BT文件上传到服务器并用PHP打开BT种子文件,并用PHP下载到服务器端,一个是节省硬盘空间,还有就是速度快!哪位知道?请贴出代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大文件不可以,小 文件可以。时间长了,PHP执行脚本会超时 ,你必须 利用 服务器端命令下载才可以下载大文件http://www.162cm.com/archives/287.html<?php $file="铁血.torrent"; $fp=fopen($file,"rb"); $data=(readBt($fp)); /** @author renlu xu <[email protected]> 输出读入的数组。 */ print_r($data); /** @function readbt 读入bt文件; @param $fp 文件指针 @param $nowtype:当然的元数据类型 @return Array 一个保存当前元数据集的数组 */ function readBt($fp,$nowtype="DICT") { $nowindex=""; while(!feof($fp)) { $char=(string)fread($fp,1); /** 其实仔细研究一下,可能这里几个case的摆放位置,比如哪个在前哪个在后,对速度都是有影响的,不过咱们暂时不管它 */ switch($char) { case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "0": { $nowindex.=$char; break; } case ":": { $nowtype="STRING"; $string=fread($fp,intval($nowindex)); $VARS[]=$string; $nowindex=""; $nowtype=""; break; } case "i": { $nowtype="NUMBER"; break; } case "e": { /** e是一个编码结束的标志,要看当前是何种编码。如果是number,直接保存当前读入的一系统数组;如果是列表(list)或字典(dictionary),则返回数组。 */ switch ($nowtype) { case "NUMBER": $VARS[]=intval($nowindex); $nowindex=""; break; case "LIST": return $VARS; break; case "DICT": return $VARS; break; } break; } /** 当开始一个列表或字典时,我为了让结果数组更清晰地显示目录关系,使用了递归。也可以不使用递归。 */ case "l": { $nowtype="LIST"; $VARS[]=readBt($fp,$nowtype); break; } case "d": { $nowtype="DICT"; $VARS[]=readBt($fp,$nowtype); break; } } } return $VARS; } fclose($fp); ?> ireport子报表问题 编写安全 PHP 应用程序的七个习惯 codeigniter---实例分享 请教在线阅读文档的功能(似:豆丁、文库) 请问目前PHP BLOG开源那个是最好的? 如何让phpexcel生成的excel文件打开时需要密码 php程序调用javascript自定义函数 AppServ 2.5.9下载后怎么也无法安装,求解答! PHP常用网址小结 phpcms的源码,函数声明怎么返回函数本身呢 请问怎么获取使用file_get_contents()的文件的真实地址? 网站里面能否将java编写的软件应用到php编写的网站上?
时间长了,PHP执行脚本会超时 ,你必须 利用 服务器端命令下载才可以下载大文件http://www.162cm.com/archives/287.html<?php
$file="铁血.torrent";
$fp=fopen($file,"rb");
$data=(readBt($fp));
/**
@author renlu xu <[email protected]>
输出读入的数组。
*/
print_r($data);
/**
@function readbt 读入bt文件;
@param $fp 文件指针
@param $nowtype:当然的元数据类型
@return Array 一个保存当前元数据集的数组
*/
function readBt($fp,$nowtype="DICT")
{
$nowindex="";
while(!feof($fp))
{
$char=(string)fread($fp,1);
/**
其实仔细研究一下,可能这里几个case的摆放位置,比如哪个在前哪个在后,对速度都是有影响的,不过咱们暂时不管它
*/
switch($char)
{
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "0":
{
$nowindex.=$char;
break;
}
case ":":
{
$nowtype="STRING";
$string=fread($fp,intval($nowindex));
$VARS[]=$string;
$nowindex="";
$nowtype="";
break;
}
case "i":
{
$nowtype="NUMBER";
break;
}
case "e":
{
/**
e是一个编码结束的标志,要看当前是何种编码。如果是number,直接保存当前读入的一系统数组;如果是列表(list)或字典(dictionary),则返回数组。
*/
switch ($nowtype)
{
case "NUMBER":
$VARS[]=intval($nowindex);
$nowindex="";
break;
case "LIST":
return $VARS;
break;
case "DICT":
return $VARS;
break;
}
break;
}
/**
当开始一个列表或字典时,我为了让结果数组更清晰地显示目录关系,使用了递归。也可以不使用递归。
*/
case "l":
{
$nowtype="LIST";
$VARS[]=readBt($fp,$nowtype);
break;
}
case "d":
{
$nowtype="DICT";
$VARS[]=readBt($fp,$nowtype);
break;
}
}
}
return $VARS;
}
fclose($fp);
?>