簡體   English   中英

在PHP中從wget獲取文件名

[英]Get filename from wget in php

我設置了一個腳本,這樣我可以輸入一個URL的網頁,腳本將wget文件。 但是,大多數文件將采用*.rar格式。 無論如何,我可以將文件名傳遞給unrar命令來取消存檔通過wget下載的文件嗎?

非常感謝!

編輯我曾考慮過使用PHP的explode()函數以斜杠( / )分隔URL,但這似乎有點hack-y。

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

使用basename()獲取文件名。

@Wyzard給出了最佳答案。 如果有一個庫可以解決您的問題,請使用它來代替外部過程。 更安全,這是干凈的解決方案。 PHP的cURLRAR很好,請使用它們。

但是,如果必須使用wgetunrar ,則@rik提供了一個很好的答案。 wget-O filename選項將文件另存為filename ,因此您不必進行處理。 我寧願使用wget -q -O - http://www.example.com | unrarwget的輸出直接通過管道傳遞到unrar wget -q -O - http://www.example.com | unrar wget -q -O - http://www.example.com | unrar

@Byron的答案很有幫助,但是您實際上不需要在這里使用它。 但是,這比使用您的編輯提到的explode()更好。

wget -O filename URL && unrar filename

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM