第一个问题:
将admin/info/NewsModifyWords.asp和admin/info/NewsModifyPic.asp中的:
Dim ITitle,IClassID,INewsTemplet,IClickNum,IAddDate,INewsAddObj,INewsAddSql,TitleBoldstr,TitleUstr
改为:
Dim ITitle,IClassID,INewsTemplet,IClickNum,IAddDate,INewsAddObj,INewsAddSql,TitleBoldstr,TitleUstr,PicPath
即可!
第二个问题admin/Collect/inc/Function.asp
将:
'==================================================
'函数名:ReplaceRemoteUrl
'作 用:替换字符串中的远程文件为本地文件并保存远程文件
'参 数:NewsContent ------ 要替换的字符串
'代码修改:e趣娱乐网(海之鲲)http://www.1qu.net
'==================================================
Function ReplaceRemoteUrl(NewsContent,SaveFilePath)
Dim re,RemoteFile,RemoteFileurl,SaveFileName,SaveFilePath1,FileName,FileExtName,RemoteFiles,dtNow,FileCount,arrSaveFileName,SaveFileType,ranNum,SavePath2,FsoObj,SaveFileName1
FileCount = 0
Set re = New RegExp
re.IgnoreCase = True
re.Global=True
re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp)))"
Set RemoteFiles = re.Execute(NewsContent)
Set re = Nothing
For Each RemoteFile in RemoteFiles
Set RemoteFiles = Nothing
If FileCount = 0 Then
Response.Write "<b>正在保存远程文件……请稍候!<font color='red'>在此过程中请勿刷新页面!</font></b> "
Response.Flush
End If
dtNow = Now()
RemoteFileUrl = RemoteFile.Value
arrSaveFileName = Split(RemoteFileUrl, ".")
SaveFileType = arrSaveFileName(UBound(arrSaveFileName))
SavePath2 = Year(dtNow) & Right("0" & Month(dtNow), 2)
SaveFilePath= "/"&UpFiles &"/"& BeyondPicDir
SaveFilePath1 = SaveFilePath & "/" & SavePath2
Set FsoObj = Server.CreateObject("Scripting.FileSystemObject")
If Not FsoObj.FolderExists(Server.MapPath(SaveFilePath1)) Then
FsoObj.CreateFolder Server.MapPath(SaveFilePath1)
End If
Randomize
ranNum = Int(900 * Rnd) + 100
SaveFileName = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2) & Right("0" & Hour(dtNow), 2) & Right("0" & Minute(dtNow), 2) & Right("0" & Second(dtNow), 2) & ranNum
SaveFileName1=SaveFileName& "." & SaveFileType
Call SaveRemoteFile(SaveFilePath1 &"/"& SaveFileName1, RemoteFileUrl)
NewsContent = Replace(NewsContent,RemoteFileurl, SaveFilePath1 &"/"& SaveFileName1)
Set FsoObj = Nothing
FileCount = FileCount + 1
Response.Write "·"
Response.Flush
Next
If FileCount > 0 Then Response.Write " <b><font color='blue'>共成功保存了 " & FileCount & " 张远程图片!</font></b><br>"
ReplaceRemoteUrl = NewsContent
End Function
替换为:
'==================================================
'函数名:ReplaceRemoteUrl
'作 用:替换字符串中的远程文件为本地文件并保存远程文件
'参 数:NewsContent ------ 要替换的字符串
'代码修改:e趣娱乐网(海之鲲)http://www.1qu.net
'==================================================
Function ReplaceRemoteUrl(NewsContent,SaveFilePath,SiteUrl)
Dim re,RemoteFile,RemoteFileurl,SaveFileName,SaveFilePath1,FileName,FileExtName,RemoteFiles,dtNow,FileCount,arrSaveFileName,SaveFileType,ranNum,SavePath2,FsoObj,SaveFileName1
FileCount = 0
Set re = New RegExp
re.IgnoreCase = True
re.Global=True
re.Pattern = "src=[''""]{0,1}((\S)+[.]{1}(gif|jpg|png|bmp))[''""]{0,1}\s"
Set RemoteFiles = re.Execute(NewsContent)
Set re = Nothing
For Each RemoteFile in RemoteFiles
Set RemoteFiles = Nothing
If FileCount = 0 Then
Response.Write "<b>正在保存远程文件……请稍候!<font color='red'>在此过程中请勿刷新页面!</font></b> "
Response.Flush
End If
dtNow = Now()
RemoteFileUrl = RemoteFile.Value
arrSaveFileName = Split(RemoteFileUrl, SiteUrl)
SaveFileType = arrSaveFileName(UBound(arrSaveFileName))
SavePath2 = Year(dtNow) & Right("0" & Month(dtNow), 2)
SaveFilePath= "/"&UpFiles &"/"& BeyondPicDir
SaveFilePath1 = SaveFilePath & "/" & SavePath2
Set FsoObj = Server.CreateObject("Scripting.FileSystemObject")
If Not FsoObj.FolderExists(Server.MapPath(SaveFilePath1)) Then
FsoObj.CreateFolder Server.MapPath(SaveFilePath1)
End If
Randomize
ranNum = Int(900 * Rnd) + 100
SaveFileName = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2) & Right("0" & Hour(dtNow), 2) & Right("0" & Minute(dtNow), 2) & Right("0" & Second(dtNow), 2) & ranNum
SaveFileName1=SaveFileName& "." & SaveFileType
Call SaveRemoteFile(SaveFilePath1 &"/"& SaveFileName1, RemoteFileUrl)
NewsContent = Replace(NewsContent,RemoteFileurl, SaveFilePath1 &"/"& SaveFileName1)
Set FsoObj = Nothing
FileCount = FileCount + 1
Response.Write "·"
Response.Flush
Next
If FileCount > 0 Then Response.Write " <b><font color='blue'>共成功保存了 " & FileCount & " 张远程图片!</font></b><br>"
ReplaceRemoteUrl = NewsContent
End Function
把admin/Collect/Collecting.asp
ReplaceRemoteUrl(ContentStr,SaveImagePath)
替换为:ReplaceRemoteUrl(ContentStr,SaveImagePath,SiteUrl)
以上方法没有测试,请测试!
[此贴子已经被作者于2005-4-23 17:18:57编辑过]