Heim >Backend-Entwicklung >PHP-Tutorial >能用PHP打开BT种子并下载到服务器端吗?

能用PHP打开BT种子并下载到服务器端吗?

WBOY
WBOYOriginal
2016-06-23 14:18:08994Durchsuche

我想把BT文件上传到服务器并用PHP打开BT种子文件,并用PHP下载到服务器端,一个是节省硬盘空间,还有就是速度快!

哪位知道?请贴出代码


回复讨论(解决方案)

大文件不可以,小 文件可以。
时间长了,PHP执行脚本会超时 ,你必须 利用 服务器端命令下载才可以下载大文件

http://www.162cm.com/archives/287.html

<?php    $file="铁血.torrent";    $fp=fopen($file,"rb");    $data=(readBt($fp));    /**   @author renlu xu <helloasp@hotmail.com>    输出读入的数组。    */    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);  ?>

+1
大文件不可以,小 文件可以。
时间长了,PHP执行脚本会超时 ,你必须 利用 服务器端命令下载才可以下载大文件

http://www.162cm.com/archives/287.html

<?php    $file="铁血.torrent";    $fp=fopen($file,"rb");    $data=(readBt($fp));    /**   @author renlu xu <helloasp@hotmail.com>    输出读入的数组。    */    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);  ?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn