首頁 > 後端開發 > php教程 > ASP知識講座四_PHP教程

ASP知識講座四_PHP教程

WBOY
發布: 2016-07-21 16:08:45
原創
971 人瀏覽過


ASP內建元件

前三講中,我們主要介紹了ASP提供的四大內建物件:
l Response物件:傳送訊息給瀏覽器。
l Request物件:存取從瀏覽器傳送到伺服器的資訊(如取得表單資料)。
l Session物件:儲存、讀取特定使用者對話訊息。
l Application物件:儲存、讀取所有使用者共享的應用程式資訊。
此外還有Server物件和ObjectContext物件我們將在以後的實例中學習(提示:其實不經意之間你已經可以利用所學知識編寫網路聊天室了)。本講的內容是使用ASP的ActiveX Server Components(元件)。

一、 Browser Capabilities Component(瀏覽器能力元件): 
我們知道,不同的瀏覽器也許支援不同的功能,例如某些瀏覽器支援框架,有些則不支援。利用這個元件,可以檢查瀏覽器的能力,讓你的網頁爭對不同的瀏覽器顯示不同的頁面(如對不支援Frame的瀏覽器顯示不含Frame的網頁)。該元件的使用很簡單,要注意的是,要正確使用該元件,必須確保Browscap.ini檔案是最新的(其實每個瀏覽器及其特性都列在這個檔案中,自己打開看看就明白了),否則結果可能相去甚遠,如Win98第二版所帶的IE5.0,在下例中顯示為Netscape。這個檔案一般位於Web伺服器的"WinntSystem32InetSrv"下,最新的版本可去http://www.asptracker.com/或http://www.cyscape.com/browscap下載。
例:wuf22.asp


'注意:元件的使用與物件類似,但是元件在使用前必須先創建,而使用內建物件前不必建立。

請稍候......













瀏覽器類型
瀏覽器版本
是否支援表格
是否支援ActiveX控制項
是否支援JavaApplets
是否支援JavaScript
是否支援Cookies
是否支援Frames
作業系統
是否支援VBScript




注意:在本例中我們也接觸了Server物件的CreateObject方法,Server.CreateObject用於建立已註冊到伺服器上的ActiveX元件(說明:還有其他方法可以建立元件)。不過別忘了用"Set 對象 = Nothing"來及時釋放資源,這應該成為一個習慣。

二、 File Access組件
File Access組件由FileSystemObject對象和TextStream對象組成,使用FileSystemObject對象,可以建立、檢索、刪除目錄及文件,而TextStream對象則提供讀寫文件的功能。
實例wuf23.asp。強調:只有透過實踐才能加深理解,實踐和比較程式運行結果是快速掌握程式設計技巧的最佳方法。

' 注意絕對路徑: C:Inetpubhomeaspwuf23.asp 主頁, StrHTML, StrNoHTML

'使用 CreateObject 方法建立 FileSystemObject 物件 FSO
Set FSO = Server.CreateObject("Scripting.FileSystem>Set FSO = Server.CreateObject("Scripting.FileSystem>Set FSO = Server.CreateObject("Scripting.FileSystem>Set FSO = Server.CreateObject("Scripting.FileSystem>Set F)> '返回test的實體目錄(絕對路徑)
'就本例而言, 下面這句與上面這句返回的Path完全一樣
'Path = Server.MapPath("asptest") 
Response .Write Path & "
"

If FSO.FolderExists(Path) = false then '判斷此資料夾是否存在
FSO.CreateFolder(Path)ApPathIPathm
File = Path & "asptest.txt"
' 寫入檔案操作
If FSO.FileExists(File) = True Then 識別物件是否存在Set CTF = FSO.OpenTextFile(File, 8, False, 0) '開啟檔案, 詳見說明
Else
Set CTF  FSO.CreateFile(File)falseTextp( End If
CTF.Write "

第一個字串; " '寫字串
CTF.WriteLine "第二個字串; " '寫字串, 並加上一個換行符
CTF.Write "第三個字串; "
CTF.Close '注意要關閉檔案 

' 讀取檔案作業
Set CTF = FSO.OpenTextFile(File, 1,,0)
Do While CTF.AtEndOfStream  True '判別是否為檔案結尾(迴圈語句)
Str = CTF.ReadLine '(每次)讀出一行StrNoHTML & VbCrLf 
StrHTML = StrHTML & Server.HTMLEncode(Str) & "
" & VbCrLf
LoopSet CTF = Nothing '釋放物件
Set FSO = Nothing
%>
CTF = FSO.OpenTextFile(File, 8, False, 第二個參數為8,表示在原文件後面追加內容,若為1表示唯讀,為2則會重寫原文件;第三個參數false表示,若指定文件不存在,也不新建文件,若為True,表示指定檔案不存在,則新建該檔案;第四個參數0表示以ASCII檔案格式打開,若為-2,則表示以原來的格式開啟。
CTF = FSO.CreateTextFile(File,False, False),第二個參數false表示不覆寫已有文件,若為True,則表示覆蓋(OverWrite)已有文件;第三個參數為False表示文件格式為ASCII,為True表示文件格式為Unicode。
Server物件的MapPath方法將指定的虛擬路徑轉換為真實的檔案路徑。 MapPath將"/"和""字元視為相同。
Server物件的HTMLEncode方法可讓你對特定的字串進行HTML編碼,或者說讓瀏覽器中可以正確顯示特定的字元。上例中,若未編碼,則"

"顯示不出來,而是被瀏覽器作為HTML標記,你可以對比一下運行結果。
實際上,File Access元件對檔案、資料夾和磁碟機的操作還是比較強大的,也提供了較多的方法,如果需要用到這方面的知識,別忘了使用它。
另外,到現在為止,寫一個網頁計數器已經是小菜一碟了吧,難怪那麼多的網頁提供免費計數器。怎麼樣?自己寫一個圖形計數器試試看,想怎麼作弊就怎麼作弊,完全自己說了算,爽呆! (小秘訣:我的首頁有實例wuf24.asp)

三、 AD Rotator(廣告翻轉組件)
現在上網,恐怕最討厭的是別人主頁上的廣告條,最喜歡的是自己首頁的廣告條,廣告條如同垃圾郵件一樣,比比皆是,防不勝防。你也可以自己動手製造這樣的垃圾,ASP的AD Rotator元件就可讓每次開啟或重新載入網頁時,隨機的顯示廣告。這個範例包括三部分:
程式wuf25.asp

Dim adr
'建立 Explicit
Dim adr
'建立 AD = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 '指定圖形檔案的邊框大小
adr.Clickable = True '指示顯示的圖片是否為超連結
adr.Frame = "_blank" '設定超連結是否要指定Frame名稱,如​​: _TOP _NEW _PARENT
'取得將要顯示的圖片及超連結設定 - 在檔案 AdrSet.txt 設定
Response.Write AdrSet.txt 中設定
Response.Write tis "AdrSet.txt")
%>
AdrSet.txt內容(後面是註釋,不是這個文件的內容):
REDIRECT wuf26.asp 點擊廣告後,轉由wuf26.asp來處理
WIDTH 468 廣告圖片寬度
HEIGHT 60 廣告圖片高度
* 分隔符號
http://www.soyou.com/prog/ad/468x60_1.gif 廣告圖片圖形位置,也可為本地文件
http://www.163.com/ 指向鏈接,若沒有超鏈接,寫入一個"-"
網易 文字說明
20 顯示該廣告的相對權重,即顯示頻率
http://fp.cache.imgis.com/images/Ad173962St1Sz1Sq1Id2.gif
http://www.sina.com.cn/
新浪網
30
http://61.139 .77.73/images/canon.gif 也可以使用本地圖片,如../images/flag.gif
http://www.canon.com.cn/
Canon
50
本例中一共有三個圖片(圖片大小468X60)及鏈接,每個鏈接的描述佔四行,實際使用時,你可如法炮製,增加更多的圖片。
URL = Request.QueryString("url")
Response.Redirect(URL) 
%>
wuf26.asp是一個最簡單的處理程序,你可根據實際需要在這裡加入更多的程式碼。
運行一下,原來這個元件的使用也很簡單,你要做的就是得到自己的AdrSet.txt檔案。利用這個元件,你甚至可以設計一個現在已經非常時髦的廣告交換主頁。

四、 Content Linking元件
顯然這個元件與連結有關係,如果想馬上知道這個元件的具體用途,恐怕還操之過急,不妨先引用一個經典的例子:假設在網路上閱讀一本書,你對以下這些連結一定不會陌生:第1章、第2章、…、上一章、下一章(或前一頁、後一頁)等等。我們現在要做的就是如何在這些連結之間方便快速地設定跳轉。
先建立一個連結清單文字文件,如urllist.txt
wuf23.asp 第1章:檔案操作(File Access元件)
wuf28.asp 第2章:Content Linking元件使用範例
wuf22.asp 第3章:瀏覽器能力元件
連結url位址與描述之間以 Tab 鍵分隔。下面wuf27.asp用來列出urllist.txt中的所有連結。


Content Linking元件使用

目錄清單: 注意核心連結是第2章, 你一定要點選它



    Dim NextLink, Count
    '建立 Content Linking 元件
    Set NextLink = Server.CreateObject("MSWC.NextLink") 

    '取得檔案 urllist.txt 中連結數目
    Count =CountNextLink.GetListNextLink. >
    Dim url, Dscr, I
    For I = 1 To Count
    url = NextLink.GetNthURL ("urllist. urllist.txt", I) '取得文字描述
    Response.Write "
  • " & Dscr & "url & """>" & Dscr & "" & """>" & Dscr & "" & crlf> Next
    %> 

然後,以wuf28.asp為例說明如何自動實作上一章和下一章跳轉。


這個連結要注意
這個連結要注意


這裡是第 2 章的正文............






這裡最後一句話加上去就可以實現自動跳轉,核心在wuf29.asp。
Dim NextLink, rank
Set NextLink = Server.CreateObject ("MSWC.NextLink")
'目前的連結在 urllist.txt 中位於第幾個ran .GetListIndex ("urllist.txt")
Response.Write "
"

If (rank > 1) Then 'rank = 1 不存在前一頁。 上一章|"
End If 

I (rank Response.Write "|下一章|"
End If
%>
運行這個例子後,你馬上能真正理解這個組件的作用,簡而言之,就是不需要在每頁都寫一個"上一章"、"下一章",完全透過wuf29.asp一下搞定,是不是很方便? !不然你要是手工修改連結的話,不是太麻煩了幾點嗎?
現在你應該明白了,網路上大量的免費計數器、免費留言板、免費聊天室、廣告交換網等等……,其原理都不過如此,大可不必崇拜。


http://www.bkjia.com/PHPjc/314730.html

truehttp: //www.bkjia.com/PHPjc/314730.htmlTechArticleASP內建元件前三講中,我們主要介紹了ASP提供的四大內建物件: lResponse物件:向瀏覽器發送訊息。 lRequest物件:存取從瀏覽器傳送到服務...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板