国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

新聞內容生成HTML文件的方法

2024-08-25 23:54:16
字體:
來源:轉載
供稿:網友

為了提高百度或google的收入,很多新聞網站都將內容生成靜態頁面,武林網CUOXIN選擇的該篇文章就詳細地介紹了生成HTML文件的新聞系統的創建方法。

一般的傳遞ID值的新聞系統見得比較多,制作起來也不是很復雜。但是我們在新浪或是其它的門戶類網站看到到的新聞不是用ID傳遞的,而是一個HTML或是Shtml文件,難道手工加上去的嗎?當然不是了,其實這用到的是ASP中的FileSystemObject對象的方法。

接著往下說說如何實現這一功能。

首先考慮文件名的格式及文件的存放路徑。路徑可以這樣假設:

存放的路徑:

如果把所有的HTML文件或是所有的SHTML文件都放在同一目錄下,當同時訪問的人增多以后,勢必會影響服務器正常的運行,所以明智的方法就是把這些文件按加入的日期進行分類。

文件名的格式:

為了避免出現重名的文件,一般的命名規則是當天的日期+時間+隨機數+后綴名。


function makefilename()
fname = now()
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
randomize
ranNum=int(90000*rnd)+10000 '生成隨機數
fname = fname&fanNum
makefilename=fname & ".shtml"
end function

這段函數就可以生成所需要的文件名及生成的文件的后綴名,當前的后綴名為.shtml,您也可以改成HTML或是ASP。

剛提到的是文件的命名,現在再來說一下文件的存放路徑!

前面提到了,每個文件按加入的日期進行分類,那如何確定路徑呢?同樣用FSO生成。

用FSO中的folderExists方面來判斷目錄是否存在,如果存在就不需要重建立了,只需將HTML寫入該目錄下(這是后話了)。如果folderExists方法取得的值為false則表示目錄不存在,就要用createfolder方法生成了。

formPath=datepart("yyyy",now())&"_"&datepart("m",now())&"_"&datepart("d",now()) '建立目錄名,生成的文件將按存放在此處

set objfso = server.createobject("scripting.filesystemobject") 
        if not objfso.folderexists(server.mappath(formPath)) then '如果該目錄不存在 
               objfso.createfolder(server.mappath(formPath)) '創建一個文件夾 
        end if 
        set objfso = nothing

目錄就這樣建立了。每次FSO生成文件時都進行判斷一下,不過這樣不知道會不會影響效率,大家可以有什么好的想法可以談一談。

先看一個模板:
<html>
<head>
<title>檸檬樹下----[title]</title>
</head>
<body>
[news_title]
<br>
作者:[author] 來源:[source] 加入日期:[add_time]
<br>
[content]
</body>
</html>

這是一個最簡單的模板了,里面的用[]括起來的是什么東東呢?那就是即將要被替換的新聞標題、內容、作者等等。

先不管這個模板漂不漂亮,先寫入數據表,在后面的用的喲!

下面將談談核心部分了,如何生成HTML的呢?

把前面的模板寫入數據表,這里給出表的結構,當然是簡單的一種Template表

T_ID 'ID值,自動編號

T_name '模板名稱

T_content '模板代碼

在編輯器中寫好新聞后,在處理頁里的執行過程是這樣的:

(1)取得表單中的各變量值

(2)從Template表中取得模板代碼

(3)將模板中的[]括起來的東東替換成相應的表單值,如[autor]就替換成表單中取得的作者名

(4)FSO生成HTML文件

(5)將新聞寫入數據表(為什么要寫入?以便以后的編輯)

'這里查詢模板

strsql = "select * from templet where T_name='"&templet_name&"' "
objrs.open strsql,conn,1,1
content = objrs("content")
objrs.close
'開始替換,其中的title/strcontet都是從表單中取得的,前面的代碼略去
content = replace(content,"[title]",title)
content = replace(content,"[content]",strcontent)
content = replace(content,"[source]",source)
content = replace(content,"[author]",author)
content = replace(content,"[add_time]",now())

'然后將新聞寫入數據表
strsql = "insert into news---------------"
conn.execute strsql,intno '執行之
if intno <> 0 then '如果執行結果不為0表示執行成功,則開始寫入了
set objfso = server.createobject("scripting.filesystemobject")
formPath=datepart("yyyy",now())&"_"&datepart("m",now())&"_"&datepart("d",now()) '建立目錄名,生成的文件將按存放在此處
filename = server.mappath(formpath& "/" &makefilename)
if objfso.folderexists(server.mappath(formPath)) then '如果該目錄存在
Set file = objfso.CreateTextFile(formpath&"/"&fname)
file.WriteLine content
file.close
else
objfso.createfolder(server.mappath(formPath)) '創建一個文件夾
Set file = objfso.CreateTextFile(formpath&"/"&fname)
file.WriteLine content
file.close
end if
set objfso = nothing
else
response.write "寫入數據失敗!"
response.end
end if 

編輯時無非就是重新從數據表中調用該新聞內容,update后重新用FSO寫入!

該文章比較詳細地介紹了典型新聞系統生成HTML文件的方法,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石景山区| 甘孜县| 宁河县| 苏尼特右旗| 电白县| 老河口市| 南通市| 谢通门县| 海南省| 大冶市| 剑阁县| 增城市| 连州市| 延庆县| 浏阳市| 肥东县| 磴口县| 合作市| 昌都县| 永顺县| 乌拉特中旗| 资阳市| 右玉县| 高碑店市| 新野县| 黑水县| 明溪县| 濮阳县| 剑河县| 三门峡市| 无锡市| 北安市| 伊通| 湘阴县| 永丰县| 隆尧县| 永泰县| 周宁县| 贵定县| 桐柏县| 太仆寺旗|