我在这里遇到一点问题。我使用着名的Aria2C文件下载器,我有一个我需要下载的链接列表。我知道我可以使用:
aria2c -o myOutputFile.exe http://www.fooBar.com/fooBarVirus.exe
下载单个文件并将其命名为myOutputFile.exe
。问题是我必须下载一些文件,并将其命名为0.pdf,1.pdf,2.pdf,3.pdf ...因为我将在以后汇编所有这些pdf 。
我会尝试更好地解释。如果我给aria2c提供以下链接:
http://www.fooBar.com/myPDF.pdf
http://www.fooBar.com/kindness.pdf
http://www.fooBar.com/crazyPdf.pdf
...
http://www.fooBar.com/myLastPdf.pdf
我必须下载这些文件并将其命名为一系列整数,并按照链接插入顺序排列。我的意思是文件名与链接顺序相关,但我不需要按顺序下载。
假设我给Aria2C以前的链接。以下输出将是我的问题的有效输出:
Time: 0
Link: http://www.fooBar.com/crazyPdf.pdf
Filename: 2.pdf
Time: 1
Link: http://www.fooBar.com/myPDF.pdf
Filename: 0.pdf
Time: 2
Link: http://www.fooBar.com/kindness.pdf
Filename: 1.pdf
...
Time: N
Link: http://www.fooBar.com/myLastPdf.pdf
Filename: N.pdf
我知道这是一个令人困惑的问题,所以如果您有任何疑问,请发表评论,我会尽快回答。谢谢!
答案 0 :(得分:4)
好的,让我们从包含PDF的URL的pdfs.txt
文件开始:
http://www.fooBar.com/myPDF.pdf
http://www.fooBar.com/kindness.pdf
http://www.fooBar.com/crazyPdf.pdf
http://www.fooBar.com/myLastPdf.pdf
我引入了一个小帮助脚本,将pdfs.txt
文件中的URL转换为Aria2c接受的文件格式。该脚本使用数组中URL的数字索引作为PDF的新文件名。
<?php
$urls = __DIR__ . '/pdfs.txt';
$downloads = file($urls);
$targetFolder = __DIR__; // define your taget folder
$ariaDownloadList = '';
foreach($downloads as $idx => $url)
{
$pdfName = $idx . '.pdf'; // 0.pdf ... N.pdf
// add new download entry
$ariaDownloadList .= $url;
$ariaDownloadList .= ' dir=' . pathinfo($targetFolder, PATHINFO_DIRNAME) . PHP_EOL;
$ariaDownloadList .= ' out=' . $pdfName . PHP_EOL;
}
file_put_contents('ariaDownloadsFile.txt', $ariaDownloadList);
这将输出一个文件ariaDownloadsFile.txt
,其中包含以下内容:
http://www.fooBar.com/myPDF.pdf
dir=C:\pdfs
out=0.pdf
http://www.fooBar.com/kindness.pdf
dir=C:\pdfs
out=1.pdf
http://www.fooBar.com/crazyPdf.pdf
dir=C:\pdfs
out=2.pdf
http://www.fooBar.com/myLastPdf.pdf
dir=C:\pdfs
out=3.pdf
然后只需运行以下命令:
aria2c -i ariaDownloadsFile.txt