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

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

WBOY
Release: 2016-06-23 14:18:08
Original
997 people have browsed it

我想把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);  ?>
Copy after login
Copy after login

+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);  ?>
Copy after login
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template