php 一般來說用 ob_* 的函式可以處理當前的檔案輸出 ob_start — Turn on output buffering ob_get_contents — Return the contents of the output buffer ob_end_clean — Clean (erase) the output buffer and turn off output buffering 通常是: ob_start(); echo '要輸出的內容!'; $html1 = ob_get_contents(); echo '還有一些要輸出的內容!'; $html2 = ob_get_contents(); ob_end_clean(); var_dump($html1, $html2); // 輸出: 要輸出的內容! 要輸出的內容! 還有一些要輸出的內容! 但是我用了古早的 SMARTY 這個模版函式,所以 // 原本的顯示內容的網頁 $smarty -> display('show_me_my_page.tpl'); // 抓取原本的顯示內容的網頁的內容 $contents = $smarty -> fetch('show_me_my_page.tpl'); // 把抓取下來的內容存到 show_me_my_page.html file_put_contents('show_me_my_page.html', $contents); ============================ FAIL ============================ SMARTY: $contents = $smarty -> display('show_me_my_page.tpl'); file_put_contents('show_me_my_page.html', $contents);