2013-04-25 62 views
0

我需要一個PHP腳本,它執行類似於Firefox或其他瀏覽器中的「Save Page As」按鈕。即:給定一個URL,它下載關聯的HTML文件,但也顯示其中顯示的圖像和其他文件。 file_get_contents()函數只能讓我獲得一半的HTML文件,而不是圖像或其他文件。解決方法是閱讀file_get_contents()返回的HTML,並找到每個找到的文件鏈接,然後將file_get_contents()應用到它。但我懷疑已經有了一個更加標準的解決方案。提前致謝。PHP腳本下載一個網站及其文件

+2

您是否必須在PHP中執行此操作? 'wget'命令可以用於此。你甚至可以使用'system'函數來執行'wget'(只要它安裝在系統上)。 – 2013-04-25 10:15:01

+0

不,它不需要在PHP中完成。我可以通過PHP exec()函數調用'wget'命令,解決問題,謝謝!如果您想將其添加爲解決方案,我會將其標記爲已接受。 – Sophivorus 2013-04-25 10:34:36

回答

3

最簡單的方法是使用wget命令:

wget --page-requisites http://www.yourwebsite.com/directory/file.html 

從PHP,你可以使用execsystem調用它。

+0

有沒有什麼辦法強制HTML中的'/ default.css'這樣的路徑被轉換爲相對路徑('default.css'),以便它們在本地工作而無需啓動任何類型的服務器? – str 2013-04-25 10:41:58

+1

@str看看'wget'的'-k'選項 - 它可能就是你要做的。 – 2013-04-25 10:54:40

+0

太棒了,謝謝。 – str 2013-04-25 11:16:25