axel-php / axel
使用Axel加速PHP中的文件下载
0.0.13
2015-06-06 22:35 UTC
Requires
- php: >=5.4.0
- jeremeamia/superclosure: ~2.0
- symfony/process: ~2.6
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-28 17:49:14 UTC
README
通用
AXEL-PHP库封装了基于C的Axel库。Axel可以从命令行进行加速下载,类似于wget
。
AXEL-PHP提供异步和同步下载。使用方法见下文。
AXEL-PHP还包含一个可选的FIFO下载管理器,可以设置当前下载的数量。只需实现AxelDownloadManagerQueueInterface
并与您喜欢的排队服务一起使用。
** 请注意:此库作为alpha版本处于积极开发中,可能会随时更改。**
示例用法
同步下载并执行完成回调
$axel = new Axel\AxelDownload(); $axel->start('http://www.google.com', null, null, function($axel, $status, $success, $error) { echo 'File Downloaded'; print_r($status); });
启动异步下载
$axel = new Axel\AxelDownload(); $axel->startAsync('http://ipv4.download.thinkbroadband.com/1GB.zip', 'test.zip', '~/');
启动异步下载并使用进度回调
$axel = new Axel\AxelDownload(); $axel->startAsync('http://ipv4.download.thinkbroadband.com/1GB.zip', 'test.zip', '~/', function($axel, $status, $success, $error) { echo 'Progress updated'; print_r($status); });
设置下载/延迟启动
$axel = new Axel\AxelDownload(); $axel->addDownloadParameters([ 'address' => 'http://www.google.com', 'filename' => 'test.html', 'download-path' => '~/', 'callback' => function($axel, $status, $success, $error) { echo 'Progress updated'; print_r($status); } ]); $axel->startAsync();
获取下载状态
$status = $axel->updateStatus();
清理
$axel->clearCompleted()
Axel管理下载队列(同步)
$dm = new Axel\AxelDownloadManager(new AxelDownloadManagerSyncQueue(), 'axel'); $dm->queueDownload('http://www.google.com', 'file1.html'); $dm->queueDownload('http://www.yahoo.com', 'file2.html'); $dm->processQueue();
版本
0.0.13
安装
先决条件
为了安装RPVR,您将需要
- PHP 5.4或更高版本
- Axel - 安装了Axel的Linux服务器
安装说明
- 在目标系统上安装axel命令行工具 -
$ sudo apt-get install axel
- 安装AXEL-PHP库 -
$ composer require axel-php/axel
开发
想要贡献?太好了!请随时与我联系,我们可以合作,或者按照您的喜好进行分支/拉取。
待办事项
- 可能的日志选项/写入日志文件?
- 智能处理并发连接和并发下载
- 检查下载目录的写权限
- 暂停队列(可能是子类?)
- 测试队列异步
许可
MIT许可证(MIT)
版权所有 (c) 2015 Ian Outterside (Ian Builds Apps)。
在此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人无限制使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供方提供软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不受任何形式的保证,明示或暗示,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,是否因软件或其使用或其他方式而产生。