2010-12-03 73 views
0

我正在設置一個腳本,以便我可以輸入一個網頁的URL,腳本將wget該文件。但是,大多數文件將採用*.rar格式。無論如何,我可以將文件名傳遞給unrar命令來解壓縮通過wget下載的文件?從wget中獲取文件名php

很多,很多預先感謝!

編輯我想過使用PHP的explode()功能,打破了由斜槓(/)的URL,但似乎有點劈-Y。

回答

1

@Wyzard提供了最佳答案。如果有一個庫可以解決您的問題,請使用它來代替外部進程。它更安全,而且是乾淨的解決方案。 PHP的cURLRAR都不錯,請使用它們。

但是,如果您必須使用wgetunrar,那麼@rik會給出一個很好的答案。 wget-O filename選項將文件保存爲filename,因此您無需將其解決。我寧願將wget的輸出直接輸入unrar,儘管如此,使用wget -q -O - http://www.example.com | unrar

@拜倫的答案是有幫助的,但你真的不需要在這裏使用它。但是,它比使用explode()作爲編輯提及更好。

+0

你會得到複選標記,提醒我可以將輸出傳送到unrar。 ;) – esqew 2011-01-02 13:55:04

2

而不是分支到外部程序下載和提取文件,你應該考慮使用PHP自己的cURLRAR擴展名。您可以使用tmpfile()函數創建一個臨時文件,將其用作CURLOPT_FILE選項的值,以使cURL將下載的文件保存在那裏,然後使用RAR函數打開該文件以提取內容。

0

wget -O filename URL && unrar filename