maestroerror/wget-download

易于使用、可链式调用的PHP类,用于下载文件,使用wget命令行工具

1.0.1 2021-07-08 08:52 UTC

This package is auto-updated.

Last update: 2024-09-11 20:26:40 UTC


README

易于使用、可链式调用的PHP类,用于下载文件,使用wget命令行工具

文档

我将尝试提供一些说明,以更好地理解和使用这个小库的主要功能。

安装

通过Composer

composer require maestroerror/wget-download  

不要忘记要求autoload.php文件

从github

git clone https://github.com/MaestroError/wget-download.git

注意:需要在终端中可访问wget命令。使用wget --help进行检查或安装:运行apt-get install wget用于linux或下载windows版本

类的初始化(构造函数)

您可以通过三种不同的方式来构建对象:使用配置数组、使用URL字符串或没有任何参数(并在以后提供它们)。您选择哪种方式,取决于您的需求

// Construct with parameteres array
$conf = [
    "filename" => "/Home/Downloads/newFileName.mp4",
    "folder" => "YOUR FOLDER",
    "url" => "YOUR URL"
];
$file = new maestroerror\wgd($conf);

// Construct with URL only
$url = "YOUR URL";
$file = new maestroerror\wgd($url);

// Construct without parameters
$file = new maestroerror\wgd();
$file->folder("YOUR FOLDER")->name("/Home/Downloads/newFileName.mp4")->url("YOUR URL");

选项

设置速度限制

$file->speedLimit("500k");

启用中断后的继续下载,如果互联网连接停止,将在连接恢复后自动继续下载

$file->continueIfStopped();

$checkCertificate在wgd类中定义为受保护的布尔属性,默认设置为false,您可以使用secure方法,允许对特定下载进行HTTPS证书检查

$file->secure();

默认情况下,启用静默(后台)模式,但对于某些特定的下载,您可以指定条件

$file->silent();
$file->wait(); // Waits before downloaded

有时您需要使用用户代理进行下载。首先,您需要允许,然后为您的下载设置用户代理

$file->allowUserAgent()->userAgent($user_agent_string)

对于多个.txt下载,您需要包含URL的.txt文件(逐行)。类似于用户代理的情况,首先,使用multiple方法允许多个下载,然后提供.txt文件以运行

$file->multiple()->file($filepath);

日志

默认日志文件定义为wgd类中的受保护属性protected string $logFile = "wgetlog.txt";,但如有需要,您可以使用setLog方法进行指定

$file->setLog("/Home/Downloads/newFileLog.txt");
$file->setLog("newFileLog.txt");

运行

最后一步是执行,您可以使用run方法开始下载:$file->run()
现在假设,我们需要在后台下载文件,使用安全连接,设置速度限制为1MB,并允许继续下载

$conf = [
    "filename" => "/Home/Downloads/newFileName.mp4",
    "folder" => "YOUR FOLDER",
    "url" => "YOUR URL"
];
$file = new maestroerror\wgd($conf);
$file->setLog("newFileLog.txt")->silent()->secure()->speedLimit("1m")->continueIfStopped()->run()

待办事项

  • 搜索待办注释并修复它们
  • 在示例中添加更多使用场景
  • 添加配置文件
  • 更新文档
  • 新版本