ASP與txt組合設計程式的執行個體

來源:互聯網
上載者:User
程式|設計

  文章簡介:ASP是目前互連網上應用最為廣泛的動態網頁程式語言之一。而提到它我們總是和Access或SQLSever等資料庫放在一起,誠然他們的結合可以使我們更自由輕鬆的管理與發布網站,但你可知道ASP和文字檔相結合也可以實現一些小巧且實用的功能哦。現在通過三個應用於網頁上的小例子,讓我們領略一下二者合璧的風采。

    ASP是目前互連網上應用最為廣泛的動態網頁程式語言之一。而提到它我們總是和Access或SQLSever等資料庫放在一起,誠然他們的結合可以使我們更自由輕鬆的管理與發布網站,但你可知道ASP和文字檔相結合也可以實現一些小巧且實用的功能哦。現在通過三個應用於網頁上的小例子,讓我們領略一下二者合璧的風采。

    在ASP中我們可以使用FileSystemObject對象的OpenTextFile方法開啟文字檔,其格式如下:

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fp=fso.OpenTextFile(Server.MapPath("file.txt"))  'file.txt就是所要開啟的文字檔

    知道了這一點,我們首先編寫一個簡單的“訊息發布系統”。參照圖1的格式建立一個message.txt檔案先。

接著運行任意的文字編輯器錄入以下代碼,將它儲存在與message.txt同一目錄下,命名為message.asp。

<html><head><title>基於文本的訊息發布系統</title></head>
<body>
<table border="1" cellspacing="0" cellpadding="1" bordercolorlight="#dfdfdf" bordercolordark="#ffffff" align="center">
  <tr bgcolor="#cccce6">
    <td algin="center" colspan="2">最新訊息</td>
  </tr>
<%
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fp=fso.OpenTextFile(Server.MapPath("message.txt"))
'開啟message.txt

Do While fp.AtEndOfStream<>true
   s=fp.ReadLine  '讀取一條資料

   p=Instr(s,"*")  '取得*號的位置
   Messagetitle=Mid(s,1,p-1)  '取得*號前邊的字串(訊息標題)
   s=Mid(s,p+1,Len(s)-p)  '設變數s為*號後邊的字串

   p=Instr(s,"*")
   MessageUrl=Mid(s,1,p-1)  '取得*號後邊的字串(連結地址)
   s=Mid(s,p+1,Len(s)-p)

   ttime=s  '設定訊息發布時間ttime為s
%>
  <tr>

   <td><a href='<%=MessageUrl%>'><%=Messagetitle%></a></td>
   <td><%=ttime%></td>
  </tr>
<!--產生表格,把訊息顯示出來-->
<%
Loop
Fp.close
Set fp=Nothing
Set fso=Nothing
%>
</table>
</body></html>

  大功告成!運行一下看看得到的結果是不是和圖2一樣?

  具體工作原理就是先用ASP開啟message.txt,然後以*號為分界點得到訊息的標題、連結地址及發布時間,接著產生表格顯示所取得的資訊,然後迴圈讀取message.txt中下一行資訊並產生表格。我們可以看到,如果想要更新訊息,只需更改文字檔中的內容即可,這樣更新雖然還要上傳下載略顯麻煩,但其容易編寫,速度快,佔用資源小等等優點還是值得一試的。特別是用於國外的免費空間上(那些空間只支援ASP而不支援資料庫)。

    完成了第一個例子,我們再來製作一個計數器。同樣的,它也是將資料(當前訪問量)記錄在txt檔案中。先來看一下程式碼:

<%
set rs=server.createobject("scripting.filesystemobject")
file=server.mappath("count.txt")  '建立與count.txt的連結
set cn=rs.opentextfile(file,1)
count=cn.readline  '取得文字檔中的欄位(訪問量)
if session("in")<>"in" then
session("in")="in"
set cn=rs.createtextfile(file,true)
application.lock
count=cint(count)+1  '將訪問量加1得到當前訪問量
cn.writeline count  '將當前訪問量寫入count.txt
application.unlock
end if
%>
<%=count%>  '輸出

    接著需要建立一個名為count的文字檔,直接在裡面輸入一個數字即可,比如“0”。那麼這個0就是計數器的起始值,從代碼中我們可以知道程式會自動累加該數字,而在使用的過程中我們也可以隨意更改這個數字來修改網站的當前訪問量(直接修改成1000000?汗)。對了,也要講這兩個檔案儲存在同一個目錄中。

    最後我們再來利用ASP內建的一個組件Ad Rotator編寫一個Banner管理系統,來管理網站上的Banner。它可以讓將所需要顯示的所有banner按照事先設定好的幾率隨機顯示。

    先建立一個名為ar的asp檔案,內容如下:
<%
Set ar=Server.CreateObject("MSWC.AdRotator")'建立一個名為ar的AdRotator執行個體
Response.Write ar.GetAdvertisement("ad.txt")'讀取ad.txt中的相關內容
%>
'程式完成,然後再建立adgo.asp,其內容如下:
<%
Response.Redirect(Request.QueryString("URL"))
%>

    這個程式只有一句。首先用Request對象的QueryString來擷取網址,再用Response對象的Redirect方法去訪問該連結。

    程式作好以後,開啟你的“記事本”並輸入以下內容:

Redirect adgo.asp
width 83
height 31
border 0
*
http://www.pcdiy.com.cn/banner.gif
http://www.pcdiy.com.cn/
網友世界,體味e網生活
20
http://game.sina.com.cn/banner.gif
http://game.sina.com.cn/
進入sina遊戲世界
20
http://www.google.com/banner.gif
http://www.google.com/
想要搜尋嗎?
10

    將它儲存為ad.txt,記得將這三個檔案儲存在同一目錄下。ad.txt的第一行指定滑鼠點擊banner時轉向到adgo.asp。後邊三行定義了banner的大小和邊框粗細。“*”表明配置資訊結束。接著往下就是banner的相關資訊了。每個banner由四條定義資訊,它們依次定義了banner所在的位置,連結的URL地址,說明和顯示比率(該值越大所出現的次數就越多)。在這下面你可以添加n個banner資訊,不過要記得4行一組,可不要搞錯咯。

    通過這些例子,你已經領略了ASP+txt這對組合的威力,而這三個例子都是最最簡單的應用,你可以在此基礎上改進增強它們的功能。舉一反三你也能開發出優秀的ASP程式來。最後祝願你的網站越做越精彩!



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。