1. ホーム
  2. Web プログラミング
  3. ASP プログラミング
  4. アプリケーションのヒント

aspとphpの時限式ページ生成のためのアイデアとコード

2022-01-18 10:10:15

PHP版の時限ページ生成は。

<?php
$file = dirname(__FILE__).' /index.html';
$timex = time()-filemtime($file); //interval time in seconds
if($timex>7200){ //interval greater than 2 hours, regenerate
echo "<script language=javascript src='crhtml.php'></script>";
}
? >

のASP版時限式生成ページ。

<%
'Do not cache
Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.cachecontrol = "no-cache"
'Read last modified time
FPath = server.mappath("index.html") 
set fso=server.CreateObject("scripting.filesystemobject") 
If fso.fileExists(FPath) Then 
Set f = fso.GetFile(FPath) 
crdate=f.DateLastModified
end if
if DateDiff("h",crdate,now())>10 then 'The time interval is greater than a certain value
response.write "<iframe border=0 frameborder=0 scrolling=no width=0 height=0 src=""/crhtml.asp""></ iframe>"
end if
%>

使用方法 サイトのトラフィックページでは、一般的にiframeとホームページのために、上記のコードは、挿入などすることができます呼び出します。
2011-7-9 @ PS 更新:下のコメントを残してくれた友人が言っていたように、この方法はサーバーの負荷を増加させます。この方法のデメリットを回避するために、2つの解決方法があります。

1つは、create.aspを呼び出すために、アクセスの少ないページのように、呼び出されるページに頻繁にアクセスする数を減らすことです。

2つ目は、直接LinuxのcronタイミングサービスやWindowsのスケジュールタスク、あるいは小さなソフトウェアを使って、一定間隔でコマンドを実行することです。 hou タスクスケジュール .

参照した記事は以下の通りです。

1. linuxはcrontabコマンドで一定時間ごとにサーバーを再起動させます。

2. Cronは、一定時間ごとにパラメータを指定してPHPコードを実行します。

3. CpanelでPHPを定期的に実行するCronジョブ

こうすることで、生成された判定ページを頻繁に呼び出すことを避け、実行が必要なときに一度だけ生成ページにアクセスすればよいのです。

cdnを使用するサイトの留意点

現在、多くのWebサイトがcdnを使用しているという事実の観点から、ホームページの一定の自動生成は、ホームページが空のコンテンツである原因となるcdnのクロールの場合につながる可能性がありますので、どのようにこれを解決するために。

スクリプトのホームプログラム:例えば、あなたはindex_def.htmを生成し、コンテンツが更新されているかどうかを判断するプログラムを通じて、コンテンツが空(コンテンツは一般的に30k以上)ではないので、コピー操作の実装は、index_def.htmができるコピーをインデックスすることができます。

それはより強力であるため、Winddowサーバはvbscriptを使用することができ、Linuxは、シェルを使用することができます。

vbscript

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
f1="F:\webroot\jb51net\index_def.htm"
f2="F:\webroot\jb51net\index.htm"
fsize=50000 '50k
set fn2=fso.GetFile(f1)
flsize2=fn2.size
fldate2=fn2.datelastmodified
set fn=fso.
flsize1=fn.size
fldate1=fn.datelastmodified
If fso.FileExists(f1) and flsize2>fsize and fldate2>fldate1 Then
fso.getfile(f1).copy(f2)
if err.number=0 then WriteHistory "success"&now()&"......... ","log.txt"
end if

Sub WriteHistory(hisChars, path)
  Const ForReading = 1, ForAppending = 8
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(path, ForAppending, True)
  f.WriteLine hisChars 
  f.Close
End Sub

BinaryDevelopの元記事で、誰でも無料で利用できます。

この記事はaspとphpの時限ページ生成の考え方とコードを紹介しています、よりaspの時限ページ生成に関連する内容はBinaryDevelopの過去記事を検索してください、または以下の関連記事を引き続き閲覧してください、今後ともBinaryDevelopをよろしくお願いします!。