PHP版本的的定時生成頁面的:
?php
$file = dirname(__FILE__).'/index.html';
$timex=time()-filemtime($file); //間隔時間,單位秒
if($timex>7200){ //間隔大于2小時,重新生成
echo "script language=javascript src='crhtml.php'>/script>";
}
?>
ASP版本的的定時生成頁面的:
%
'不緩存
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.cachecontrol = "no-cache"
'讀取最后修改時間
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 '時間間隔大于一定值
response.write "iframe border=0 frameborder=0 scrolling=no width=0 height=0 src=""/crhtml.asp"">/iframe>"
end if
%>
使用方法:在網站的流量大的頁面,一般為首頁用 iframe 調用上面的代碼即可,如插入 iframe border=0 frameborder=0 scrolling=no width=0 height=0 src="/create.asp">/iframe>
2011-7-9 @ PS更新:正如下面留評論的朋友所說,此種方法的確會增加服務器負擔。為了避免這種方式的缺點,有2種方法來解決,
一、減少頻繁訪問被調用頁面的次數,如在流量不大的頁面調用 create.asp ;
二、直接使用 linux cron定時服務、或windows計劃任務或一些定時執行命令的小軟件 例如:hou任務計劃。
參考文章如下:
1、linux使用crontab命令定時重啟服務器
2、Cron定時執行帶參數的PHP代碼
3、Cpanel下Cron Jobs定時執行PHP的方法
這樣就可以避免頻繁調用生成判斷頁面了,只在需要執行的時候訪問一次生成頁面即可。
使用了cdn的網站需要注意的問題
鑒于現在很多網站都使用了cdn,如果不斷自動生成首頁可能導致首頁為空的情況下被cdn抓取到導致首頁是空內容,那么這樣怎么解決呢。
腳本之家的方案:例如可以生成index_def.htm,然后通過程序判斷內容是否有更新,內容是否不為空(內容一般大于30k),這樣執行復制操作將index_def.htm復制一份為index.htm即可。
winddow服務器下可以使用vbscript因為比較強大,linux可以使用shell。
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.GetFile(f2)
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 "成功"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
腳本之家原創文章,免費提供給大家了。
到此這篇關于asp與php中定時生成頁面的思路與代碼的文章就介紹到這了,更多相關asp定時生成頁面內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- linux Cron定時執行帶參數的PHP代碼
- Linux服務器配置PHP文件下載,中文亂碼問題,下載出錯如何解決
- 用php如何解決大文件分片上傳問題
- 服務器大量php-cgi.exe進程導致CPU占用100%的解決方法
- Linux系統下安裝PHP7.3版本
- PHP局部異常因子算法-Local Outlier Factor(LOF)算法的具體實現解析