作者laechan (小太保)
看板mud_sanc
標題[閒聊] 由 mud 產生 html 檔
時間Thu Jan 22 10:17:10 2009
簡單的說就是像底下這樣...
string str;
str="<body>\n"+
"<tr><td>等級</td><td>Id</td><td>暱稱</td></tr>\n"+
"<tr><td>"+ppl->query("level")+"</td><td>"+ppl->query("name")+
"</td><td>"+ppl->query("chi_name")+"</td></tr></body>\n";
write_file(__DIR__+"xxx.htm",str);
則在 ie 下開這個網頁檔就會看到下面的東西...
┌────┬─────┬───────┐
│等級 │ID │暱稱 │
├────┼─────┼───────┤
│120 │laechan │小太保 │
└────┴─────┴───────┘
它的基本應用之一,就是可以把 mud display 出來的東西寫成 htm 檔,
再放在網頁上,就可以供玩家用 IE 去瀏覽那些資料。
(例如以 loadall 產生出來的那堆 help eq_xxx)
一般可在 windows 下執行的 mudos 多半都會附加類似 IIS 的功能,即
它提供一個可以 http 首頁的功能以及一個 http 的根目錄,這時只要把
mud 產生的 htm 檔 cp 到那個目錄(可以用定時 cp 的方式),玩家就隨
時可以透過 ie 觀看一些最新的資料。
目前的聖殿也可以,不過不會考慮這麼做。
這裡要說的是,有時把訊息以 html 格式 write_file 出來是可行的,
但是要考慮撰寫的方式,如上...
str="<body>\n"+
"<tr><td>等級</td><td>Id</td><td>暱稱</td></tr>\n"+
"<tr><td>"+ppl->query("level")+"</td><td>"+ppl->query("name")+
"</td><td>"+ppl->query("chi_name")+"</td></tr></body>\n";
如果要顯示一個 1000 行的資料,上面的寫法是不行的,因為太多的字
串累加,除非是單機型的 mud 不然是跑不動的。
變通的方法則是..
str=sprintf("<body>\n<tr><td>%d</td><td>%s</td><td>%s</td></tr></body>\n",
ppl->query("level"),ppl->query("name"),ppl->query("chi_name"));
但是要顯示 1000 行的資料可能也會有點吃力。總之,還有其它的方法
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.230.43
1F:推 hlead :一頁讀100行就好了.. 01/22 10:22
2F:→ laechan :我是說假設有1000筆資料要用來產生這東西時,有時候沒 01/22 10:48
3F:→ laechan :辦法像 loadall 那樣子可以分段來做 01/22 10:48
4F:推 hlead :soga.. 01/22 11:24
5F:推 AresMars :wait sanc web版 XD CGI? 01/22 13:24
6F:→ laechan :以前nobu有實用過,但要web版..直接從web版開始寫比改 01/22 14:02
7F:→ laechan :成web版還要容易. 01/22 14:02