推奨:ASPインスタンス学習:ファイル名をランダムに生成する機能以下は引用されたコンテンツです:<html> <meta http-equiv = reffresh = 2> <! - これを配置します
Active Server Pager(ASPと呼ばれるDynamic Server HomePage)は、Script Language(VBScriptまたはJScript)とHTMLコードを組み合わせて、サーバーファイルを読み書きすることでページカウンター機能を簡単に実現できます。インターネット上の人気のあるASP教科書とASPチュートリアルは、ASPカウンターの設計問題について話していますが、カウンタースクリプトとメインページを分離する方法と画像カウンターの実装について言及していないなど、それらはすべて簡単です。以下は、ユニット用のNT Webサイトを作成した著者の経験であり、ASPカウンターの設計について段階的に説明する例を示します。 ASP Webプログラミングに興味のあるASPとネチズンの初心者にインスピレーションを与えることができることを願っています。
(i)単純なカウンター
ASPには、5つの内蔵アクティブサーバーコンポーネント、つまりデータベースアクセスコンポーネント、ファイルアクセスコンポーネント、広告回転子コンポーネント、ブロワー機能コンポーネント、コンテンツリンクコンポーネントが含まれています。以下で設計するカウンターは、ファイルアクセスコンポーネント(ファイルアクセスコンポーネント)を介してサーバーファイルを読み書きすることです。アルゴリズムのアイデアは、サーバー上のテキスト(ASCII)ファイルを使用して、カウントされた値を保存することです。ページにアクセスするたびに、値はファイルから読み取り、ユーザーに表示され、値は1によって追加され、付加値はファイルに書き戻されます。
サーバーカウントファイルにデータを書き込むためのASPステートメントと説明は次のとおりです。
counfile = server.mappath(カウンター値の保存に使用されるファイル名)
サーバーサーバーアクセスメソッドMappath(PATH)は、カウンター値を保存するファイルが物理パスに配置されるパスを変換します。
fileObject = server.createObject(scripting.filesystemObject)を設定します
Method CreateObjectを使用して、オブジェクトファイルSystemObjectを定義します
set attream = server.createTextFile(fileObject、true、false)
Object FilesystemObjectを使用してメソッドcreateTextFileを指定してテキストファイルを生成します。パラメーターTrueは元のファイルを上書きすることを意味し、FalseはファイルがタイプASCIIであることを意味します
OutStream.WriteLineデータと記述するデータ
outstream.writelineファイルにデータの行を書き込みます
サーバーファイルからデータを読み取るためのASP構文は次のとおりです。
counfile = server.mappath(カウンター値の保存に使用されるファイル名)
fileObject = server.createObject(scripting.filesystemObject)を設定します
instream = server.opentextfile(fileObject、1、false、false)を設定
Object FilesystemObjectを使用してメソッドOpenTextFileを提供してテキストを生成しますか?パラメーターが元のファイルを上書きすることを意味する場合、falseは、ファイルがデータ= instream.readlineを読み取るためのASCIIタイプであることを意味します。
以下は、ASPを使用してページカウンター関数(SimpleCounter.asp)を実装するカウンターの例です。コードで詳細に声明をコメントしました。次のコードをカウントする必要があるページコードに貼り付けることができます。もちろん、サーバーはASPをサポートする必要があり、ホームページが配置されているディレクトリにコンテンツ0を備えたテキストファイルSimpleCounter.txtを作成しました。
シンプルなASPカウンターSimpleCounter.aspコードとコメント:
| 以下は引用されたコンテンツです。 $#@60;% countfile = server.mappath(simplecounter.txt) ファイルaspconter.txtは、番号を保存するために使用されるテキストファイルです。初期コンテンツは通常0です。 fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.opentextFile(countfile、1、false、false) counter = out.readline |
カウンターファイルの値を読み取ります
out.close
ファイルを閉じます
| 以下は引用されたコンテンツです。 fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.createTextFile(countFile、true、false) Application.Lock |
メソッドapplication.Lockは、他のユーザーがカウンター値を変更することを禁止します
カウンター=カウンター1
カウンターの値は1増加します
out.writeLine(カウンター)
ファイルに新しいカウンター値を記述します
Application.UnLock
メソッドApplication.UnLockを使用した後、他のユーザーがカウンター値を変更できるようにします
| 以下は引用されたコンテンツです。 Response.write(あなたは最初のものです) Response.write($#@60; font color = Red $#@62;) Response.Write(カウンター) |
カウンター値をブラウザに転送し、赤色でユーザーに表示します
| 以下は引用されたコンテンツです。 Response.Write($#@60;/font $#@62;) Response.Write(訪問者) out.close |
ファイルを閉じます
%$#@62;
(ii)ページから分離されたカウンター
実際のアプリケーションでは、メインページとカウンタープログラムが分離されています。ページカウントは、カウントする必要があるページに引用されたコードを追加することで実現できます。これは、オンラインで使用するためによく適用されるフリーカウンターですが、通常はCGIによって作成されます。ここでは、ASPを使用して作成した単純なカウンターを少し変更してから、ページにJavaScriptステートメントをページに追加して、ページとは別のカウンター関数が実現する必要があります。このようにして、メインページのカウンターであろうと特定のページのカウントであろうと非常に便利です。明らかに、複数のカウンターを実装するためにカウンター値を保存するファイル名とカウンターASPソースコードファイル名を単純に変更する必要があります。
ページから分離されたカウンターTxtCounter.aspコード:
| 以下は引用されたコンテンツです。 $#@60;% countfile = server.mappath(txtcounter.txt) fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.opentextFile(countfile、1、false、false) counter = out.readline out.close fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.createTextFile(countFile、true、false) Application.Lock カウンター=カウンター1 out.writeLine(カウンター) Application.UnLock respons.writedocument.write(&counter&) |
ページにカウンター値を正しく表示するには、vbscript関数document.writeに電話してください
out.close
%$#@62;
次のコードをページに追加してカウントします。
$#@60; p $#@62;
あなたは最初です
$#@60; font color = red $#@62;
$#@60;スクリプト言語= javascript src = http://202.101.209.75/asptemp/counter/txtcounter.asp$@62;
// ASPカウンターが配置されているサーバーとディレクトリパスを参照する場合。
$#@60;/スクリプト$#@62;
$#@60;/font $#@62;
訪問者
$#@60;/p $#@62;
(iii)ページとは別に画像カウンター
人々の追求は無限です。たぶん、単純なテキスト番号カウンターの代わりに、よりパーソナライズされたグラフィック番号カウンターが必要かもしれません。問題ありません。次に、ASPを使用してグラフィックカウンター機能を実装する方法を見てみましょう。グラフカウンターを実装するための重要なポイントは、カウンターファイルのデータ値を対応するグラフィカル表現に変換する方法です。 10進数には、0、1、2、3、4、5、6、7、8、9を含む10種類の数値があるため、10個の対応する画像が必要であり、画像のファイル名は表示された数値に対応する必要があります。たとえば、0に対応する画像のファイル名は0.gif、1は1.gif、...(Photoshopなどのツールを使用して、またはインターネットからダウンロードして画像を作成できます)。ここでは、vbscript関数len(string | varname)とmid(string、start [、length])を使用します。カウンター値のビット数はLEN(カウンター)から取得でき、カウンター値のIthビットの数はMID(カウンター、I、1)から取得できます。この値を使用して、対応するデジタル画像を呼び出すことができます。 for loopステートメントを使用して、カウンター値の各ビットの数値を取得して対応するデジタル画像に変換することは難しくありません。そのため、テキスト値から画像番号への変換を実現できます。以下は、ASPで書かれた画像カウンターの例です。コードのほとんどは以前に分析されていたため、コードで注釈が付けられているステートメントの一部のみがあります。
画像カウンターIMGCounter.aspコードページから分離:
$#@60;%@言語= vbscript%$#@62;
$#@60;%
薄暗い画像(20)
各数字画像を表示するステートメントを保存する配列を定義します
| 以下は引用されたコンテンツです。 countfile = server.mappath(imgcounter.txt) fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.opentextFile(countfile、1、false、false) counter = out.readline out.close fileObject = server.createObject(scripting.filesystemObject)を設定します set out = fileObject.createTextFile(countFile、true、false) Application.Lock カウンター=カウンター1 out.writeLine(カウンター) Application.UnLock countlen = len(counter) |
カウンター値のビット数を取得します
| 以下は引用されたコンテンツです。 i = 1の場合 画像(i)= $#@60; img src =&http://202.101.209.75/asptemp/counter/images/ &/&mid(counter、i、1)&.gif $#@62; $#@60;/img $#@62; |
各ビットの数値に対応する画像の表示コード(HTML)は、ループステートメントから取得され、配列に保存されます。具体的に使用するときは、画像の実際のサーバーとディレクトリパスに注意してください。
respons.writedocument.write(&images(i)&);
function document.writeを呼び出して、デジタル画像を表示するHTMLコードを出力します
次
out.close
%$#@62;
次のコードをページに追加してカウントします。
$#@60; p $#@62;
あなたは最初です
$#@60;スクリプト言語= javascript src = http://202.101.209.75/asptemp/counter/imgcounter.asp$@62;
// ASPカウンターが配置されているサーバーとディレクトリパスを参照する場合。
$#@60;/スクリプト$#@62;
訪問者
$#@60;/p $#@62;
注:上記のASPカウンターはすべてテストされ、Windows NT Server 4.0(中国) / IIS3.0で渡されました。次の環境のいずれかがASPを実行できます。
1。WindowsNT Server 4.0 / IIS3.0以上
2。WindowsNTワークステーション4.0 / Microsoft Peer Webサービス3.0以上
3。Windows95/98 / Microsoft個人Webサーバー1.0a以上
共有:ASP例説明:ページブレークを使用して、長い記事のページングの表示を実現する長い記事のページは、ページブレークで表示されます。 ASPを使用してこの関数を実装する場合、ページングの方法のみが単語の数に基づいていることがわかります。ただし、この方法にはバグがあります。つまり、記事コンテンツにUBBまたはHTMLコードがある場合、[コード] [/code]の間に簡単に移動する可能性があります。