仓酷云

标题: ASP编程:ASP保留远程图片到当地 同时获得第一张... [打印本页]

作者: 若相依    时间: 2015-1-16 22:43
标题: ASP编程:ASP保留远程图片到当地 同时获得第一张...
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)这是自己在SNA旧事收罗体系For动力3.62里利用的几个函数
能够广泛的利用在收罗大概在线增加文章中
以下是函数程序代码
<%
==================================================
函数名:DefiniteUrl
作用:将绝对地点转换为相对地点
参数:PrimitiveUrl------要转换的绝对地点
参数:ConsultUrl------以后网页地点
==================================================
FunctionDefiniteUrl(ByvalPrimitiveUrl,ByvalConsultUrl)
DimConTemp,PriTemp,Pi,Ci,PriArray,ConArray
IfPrimitiveUrl=""orConsultUrl=""orPrimitiveUrl="$False$"Then
DefiniteUrl="$False$"
ExitFunction
EndIf
IfLeft(ConsultUrl,7)"HTTP://"AndLeft(ConsultUrl,7)"http://"Then
ConsultUrl="http://"&ConsultUrl
EndIf
ConsultUrl=Replace(ConsultUrl,"://",":")
IfRight(ConsultUrl,1)"/"Then
IfInstr(ConsultUrl,"/")>0Then
IfInstr(Right(ConsultUrl,Len(ConsultUrl)-InstrRev(ConsultUrl,"/")),".")>0then
Else
ConsultUrl=ConsultUrl&"/"
EndIf
Else
ConsultUrl=ConsultUrl&"/"
EndIf
EndIf
ConArray=Split(ConsultUrl,"/")
IfLeft(PrimitiveUrl,7)="http://"then
DefiniteUrl=Replace(PrimitiveUrl,"://",":")
ElseIfLeft(PrimitiveUrl,1)="/"Then
DefiniteUrl=ConArray(0)&PrimitiveUrl
ElseIfLeft(PrimitiveUrl,2)="./"Then
DefiniteUrl=ConArray(0)&Right(PrimitiveUrl,Len(PrimitiveUrl)-1)
ElseIfLeft(PrimitiveUrl,3)="../"then
DoWhileLeft(PrimitiveUrl,3)="../"
PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-3)
Pi=Pi+1
Loop
ForCi=0to(Ubound(ConArray)-1-Pi)
IfDefiniteUrl""Then
DefiniteUrl=DefiniteUrl&"/"&ConArray(Ci)
Else
DefiniteUrl=ConArray(Ci)
EndIf
Next
DefiniteUrl=DefiniteUrl&"/"&PrimitiveUrl
Else
IfInstr(PrimitiveUrl,"/")>0Then
PriArray=Split(PrimitiveUrl,"/")
IfInstr(PriArray(0),".")>0Then
IfRight(PrimitiveUrl,1)="/"Then
DefiniteUrl="http:"&PrimitiveUrl
Else
IfInstr(PriArray(Ubound(PriArray)-1),".")>0Then
DefiniteUrl="http:"&PrimitiveUrl
Else
DefiniteUrl="http:"&PrimitiveUrl&"/"
EndIf
EndIf
Else
IfRight(ConsultUrl,1)="/"Then
DefiniteUrl=ConsultUrl&PrimitiveUrl
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/"))&PrimitiveUrl
EndIf
EndIf
Else
IfInstr(PrimitiveUrl,".")>0Then
IfRight(ConsultUrl,1)="/"Then
Ifright(PrimitiveUrl,3)=".cn"orright(PrimitiveUrl,3)="com"orright(PrimitiveUrl,3)="net"orright(PrimitiveUrl,3)="org"Then
DefiniteUrl="http:"&PrimitiveUrl&"/"
Else
DefiniteUrl=ConsultUrl&PrimitiveUrl
EndIf
Else
Ifright(PrimitiveUrl,3)=".cn"orright(PrimitiveUrl,3)="com"orright(PrimitiveUrl,3)="net"orright(PrimitiveUrl,3)="org"Then
DefiniteUrl="http:"&PrimitiveUrl&"/"
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/"))&"/"&PrimitiveUrl
EndIf
EndIf
Else
IfRight(ConsultUrl,1)="/"Then
DefiniteUrl=ConsultUrl&PrimitiveUrl&"/"
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/"))&"/"&PrimitiveUrl&"/"
EndIf
EndIf
EndIf
EndIf
IfLeft(DefiniteUrl,1)="/"then
DefiniteUrl=Right(DefiniteUrl,Len(DefiniteUrl)-1)
Endif
IfDefiniteUrl""Then
DefiniteUrl=Replace(DefiniteUrl,"//","/")
DefiniteUrl=Replace(DefiniteUrl,":","://")
Else
DefiniteUrl="$False$"
EndIf
EndFunction
==================================================
函数名:ReplaceSaveRemoteFile
作用:交换、保留远程文件
参数:ConStr------要交换的字符串
参数:StarStr-----前导
参数:OverStr-----
参数:IncluL------
参数:IncluR------
参数:SaveTf------是不是保留文件,False不保留,True保留
参数:SaveFilePath-保留文件夹
参数:TistUrl------以后网页地点
==================================================
FunctionReplaceSaveRemoteFile(ConStr,StartStr,OverStr,IncluL,IncluR,SaveTf,SaveFilePath,TistUrl)
IfConStr="$False$"orConStr=""Then
ReplaceSaveRemoteFile="$False$"
ExitFunction
EndIf
DimTempStr,TempStr2,ReF,Matches,Match,Tempi,TempArray,TempArray2,OverTypeArray

SetReF=NewRegexp
ReF.IgnoreCase=True
ReF.Global=True
ReF.Pattern="("&StartStr&").+?("&OverStr&")"
SetMatches=ReF.Execute(ConStr)
ForEachMatchinMatches
IfInstr(TempStr,Match.Value)=0Then
IfTempStr""then
TempStr=TempStr&"$Array$"&Match.Value
Else
TempStr=Match.Value
Endif
EndIf
Next
SetMatches=nothing
SetReF=nothing
IfTempStr=""orIsNull(TempStr)=TrueThen
ReplaceSaveRemoteFile=ConStr
Exitfunction
Endif
IfIncluL=Falsethen
TempStr=Replace(TempStr,StartStr,"")
Endif
IfIncluR=Falsethen
IfInstr(OverStr,"|")>0Then
OverTypeArray=Split(OverStr,"|")
ForTempi=0ToUbound(OverTypeArray)
TempStr=Replace(TempStr,OverTypeArray(Tempi),"")
Next
Else
TempStr=Replace(TempStr,OverStr,"")
EndIf
Endif
TempStr=Replace(TempStr,"""","")
TempStr=Replace(TempStr,"","")

DimRemoteFile,RemoteFileurl,SaveFileName,SaveFileType,ArrSaveFileName,RanNum
IfRight(SaveFilePath,1)="/"then
SaveFilePath=Left(SaveFilePath,Len(SaveFilePath)-1)
EndIf
IfSaveTf=Truethen
IfCheckDir2(SaveFilePath)=FalseThen
IfMakeNewsDir2(SaveFilePath)=FalseThen
SaveTf=False
EndIf
EndIf
EndIf
SaveFilePath=SaveFilePath&"/"

图片转换/保留
TempArray=Split(TempStr,"$Array$")
ForTempi=0ToUbound(TempArray)
RemoteFileurl=DefiniteUrl(TempArray(Tempi),TistUrl)
IfRemoteFileurl"$False$"AndSaveTf=TrueThen保留图片
ArrSaveFileName=Split(RemoteFileurl,".")
SaveFileType=ArrSaveFileName(Ubound(ArrSaveFileName))文件范例
RanNum=Int(900*Rnd)+100
SaveFileName=SaveFilePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&SaveFileType
CallSaveRemoteFile(SaveFileName,RemoteFileurl)
ConStr=Replace(ConStr,TempArray(Tempi),SaveFileName)
ElseIfRemoteFileurl"$False$"andSaveTf=FalseThen不保留图片
SaveFileName=RemoteFileUrl
ConStr=Replace(ConStr,TempArray(Tempi),SaveFileName)
EndIf
IfRemoteFileUrl"$False$"Then
IfUploadFiles=""then
UploadFiles=SaveFileName
Else
UploadFiles=UploadFiles&"|"&SaveFileName
Endif
EndIf
Next
ReplaceSaveRemoteFile=ConStr
Endfunction
==================================================
历程名:SaveRemoteFile
作用:保留远程的文件到当地
参数:LocalFileName------当地文件名
参数:RemoteFileUrl------远程文件URL
==================================================
subSaveRemoteFile(LocalFileName,RemoteFileUrl)
dimAds,Retrieval,GetRemoteData
SetRetrieval=Server.CreateObject("Microsoft.XMLHTTP")
WithRetrieval
.Open"Get",RemoteFileUrl,False,"",""
.Send
GetRemoteData=.ResponseBody
EndWith
SetRetrieval=Nothing
SetAds=Server.CreateObject("Adodb.Stream")
WithAds
.Type=1
.Open
.WriteGetRemoteData
.SaveToFileserver.MapPath(LocalFileName),2
.Cancel()
.Close()
EndWith
SetAds=nothing
endsub

==================================================
历程名:GetImg
作用:获得文章中第一张图片
参数:str------文章内容
参数:strpath------保留图片的路径
==================================================
FunctionGetImg(str,strpath)
setobjregEx=newRegExp
objregEx.IgnoreCase=true
objregEx.Global=true
zzstr=""&strpath&"(.+?).(jpg|gif|png|bmp)"
objregEx.Pattern=zzstr
setmatches=objregEx.execute(str)
foreachmatchinmatches
retstr=retstr&"|"&Match.Value
next
ifretstr""then
Imglist=split(retstr,"|")
Imgone=replace(Imglist(1),strpath,"")
GetImg=Imgone
else
GetImg=""
endif
endfunction

==================================================
函数名:CheckDir2
作用:反省文件夹是不是存在
参数:FolderPath------文件夹地点
==================================================
FunctionCheckDir2(byvalFolderPath)
dimfso
folderpath=Server.MapPath(".")&""&folderpath
Setfso=Server.CreateObject("Scripting.FileSystemObject")
Iffso.FolderExists(FolderPath)then
存在
CheckDir2=True
Else
不存在
CheckDir2=False
Endif
Setfso=nothing
EndFunction
==================================================
函数名:MakeNewsDir2
作用:创立新的文件夹
参数:foldername------文件夹称号
==================================================
FunctionMakeNewsDir2(byvalfoldername)
dimfso
Setfso=Server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(Server.MapPath(".")&""&foldername)
Iffso.FolderExists(Server.MapPath(".")&""&foldername)Then
MakeNewsDir2=True
Else
MakeNewsDir2=False
EndIf
Setfso=nothing
EndFunction

%>

ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
作者: 柔情似水    时间: 2015-1-19 20:36
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者: 乐观    时间: 2015-1-24 16:30
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 若相依    时间: 2015-2-2 10:47
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
作者: 蒙在股里    时间: 2015-2-7 18:14
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者: 再现理想    时间: 2015-2-22 20:22
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者: 深爱那片海    时间: 2015-3-7 02:34
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者: 活着的死人    时间: 2015-3-14 04:05
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者: 灵魂腐蚀    时间: 2015-3-21 00:22
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2