在php中从wget获取文件名

时间:2010-12-03 00:28:02

标签: php wget unrar

我正在设置一个脚本,以便我可以在网页上输入一个URL,脚本将wget该文件。但是,大多数文件都采用*.rar格式。无论如何我可以将文件名传递给unrar命令以取消归档通过wget下载的文件吗?

很多,非常感谢提前!

编辑我考虑过使用PHP的explode()函数通过斜杠(/)来分解网址,但这看起来有些黑客攻击。

4 个答案:

答案 0 :(得分:2)

您应该考虑使用PHP自己的cURLRAR扩展名,而不是分配给外部程序来下载和解压缩文件。您可以使用tmpfile()函数创建临时文件,将其用作CURLOPT_FILE选项的值,以使cURL将下载的文件保存在那里,然后使用RAR函数打开该文件以提取内容。

答案 1 :(得分:2)

使用basename()获取文件名。

答案 2 :(得分:1)

@Wyzard给出了最好的答案。如果有一个库可以解决您的问题,请使用它而不是分支外部进程。它更安全,它是干净的解决方案。 PHP的cURLRAR很好,请使用它们。

但是,如果您必须使用wgetunrar,那么@rik会给出一个很好的答案。 wget的{​​{1}}选项会将文件保存为-O filename,因此您无需将其解决。我宁愿使用filenamewget的输出直接导出到unrar

@ Byron的回答很有帮助,但你真的不需要在这里使用它。但是,它比使用wget -q -O - http://www.example.com | unrar更适合您的编辑提及。

答案 3 :(得分:0)

wget -O filename URL && unrar filename