急。。。將動態網站全部頁面轉換成靜態頁面,離線顯示,該怎麼實現 ,謝謝大家
我現在用thankphp開發了一個網站。現在使用者需要將項目拷走,帶到其他沒有php環境的電腦上開啟顯示,也只有將所有動態網頁面轉換成靜態頁面,請問一下,具體步驟該怎麼做?
謝謝,線上等。
------解決方案--------------------
搜尋 網頁離線瀏覽軟體。 下載,整站下載,搞定。
------解決方案--------------------
thinkphp 產生靜態資料 配置
www.MyException.Cn 發佈於:2012-10-06 17:34:01 瀏覽:272次 0
thinkphp 產生靜態檔案 配置
$this->buildHtml('hello', 'user/','index');
這樣就在user目錄下生產了 hello.shtml
還有緩衝配置
順便配置下生產 緩衝 就是 點了 不是立即產生等到達一定時間自動生產靜態頁面 相當實用
在cofig.php 配置
if (!defined('THINK_PATH')) exit();
return array(
'HTML_CACHE_ON'=>true,
'HTML_CACHE_TIME'=>10,//時間單位是秒
'HTML_READ_TYPE'=>0,
);
--------------------------
項目在c:/www/Tp/admin/
產生的靜態檔案 目標 c:/www/tp/html/
用到一個函數dirname 返回去除檔案的路徑 如 tp/dl/123.php 如果用dirname 的話返回的是絕對路徑c:/tp/dl
index.php 入口檔案配置
直說重要的
define('WEB_PATH', dirname(__FILE__) );
define('NO_CACHE_RUNTIME', true);//debug
config.php
項目配置 加上.htm
HTML_FILE_SUFFIX =>'.htm'
控制器中 我用的是map
function create(){
//echo THINK_PATH;
$path = dirname(WEB_PATH).'\HTML\\';
//$path = dirname(dirname(WEB_PATH).'\HTML');
echo $path;
$this->buildHtml('loves',$path,'index');
}
------------------------
1.UrlcreateAction放在Web項目
public function url_news_view(){
header("Content-Type:text/html; charset=utf-8");
$dirpath = dirname($_SERVER['SCRIPT_FILENAME']).'/Html/';//html根目錄 最後一個/是必須的
$news = M('new');
$list = $news->select();
foreach($list as $var){
$id = $var['new_id'];
$this->assign('data',$var);
var_dump($id);
$this->buildHtml("news/{$var['addtime']}",$dirpath,"Index:news_view");
}
}
對Index:news_view操作模板輸出後的內容,產生靜態頁面
------解決方案--------------------
所有頁面都點一遍, 那如果幾萬條...
用wget -r 遍曆一下看看行不行。
windows下的話, 有offlineexplore之類的軟體找找。
------解決方案--------------------
是啊,用版主的方法需要遍歷一遍所有頁面。
只能讀取數據庫,然後批量訪問。