수집 프로그램은 규칙에 따라 데이터를 직간접 적으로 얻을 수 있습니다. 따라서 많은 사람들이 편의를 위해 컬렉션 프로그램을 스스로 작성할 것입니다. 그렇다면 컬렉션 프로그램을 어떻게 작성해야합니까? 아래는 Foxin의 편집자가 모두에게 편집 한 자동 컬렉션 프로그램의 예제 코드입니다.
코드 사본은 다음과 같습니다.<%
다음에 오류가 재개됩니다
const uploadpath = "/uploads/" '파일 스토리지 경로
const allowfileext = "jpg, wma, swf, gif" '수집 파일 유형이 허용됩니다.
'const allowfilesize = "200"
함수 getFile (URL)
url = ""라면
종료 기능
또 다른
url = trim (url)
끝 If
'파일을 얻으십시오
fileExt = lcase (mid (url, instrev (url, ".))+1) '파일 유형
filename = lcase (mid (url, instrev (url, "/")+1, instrev (url, ".")-instrev (url, "/")-1)) '파일 유형이없는 파일 이름
NewFilePath = getNow ( "date") & "_"& replace (formatdateMe (now (now (), 3), ":", "") & "_"& cleanfilename (filename) & "." & FileExt
IF instr ( ","& lcase (allowfileext) & ",", ",", ","& fileext & ",") = 0
getFile = "파일 유형 허용되지 않음"
종료 기능
끝 If
xmlhttp = server.createobject를 설정하십시오 ( "microsoft.xmlhttp")
xmlhttp.open "get", url, false
xmlhttp.send
'xmlhttp.readystate <> 4
'xmlhttp.WaitForResponse 1000
'향하게 하다
xmlhttp.status <> 200 인 경우
getFile = "오류 가져 오기 파일"
종료 기능
또 다른
set folder = server.createobject ( "scripting.filesystemobject")
Dim FolderName
FolderName = getNow ( "Year") & getNow ( "Month") '폴더
if folder.dolerexists (server.mappath (uploadpath)) = false
Folder.CreateFolder Server.MAPPATH (업로드 경로)
끝 If
if folder.dolerexists (server.mappath (uploadpath & foldername)) = false
Folder.CreateFolder Server.MAPPATH (UPLOADPATH & FOLDERNAME)
끝 If
폴더 = 아무것도 설정하지 않습니다
file = xmlhttp.responsebody
lenb (file)> allowfileSize 인 경우
getFile = "파일이 너무 커서 저장하기에는 너무 큽니다!"
종료 기능
또 다른
set objadostream = server.createobject ( "adodb.str"& "eam")
objadostream.open ()
objadostream.type = 1
objadostream.write (파일)
objadostream.savetofile (Server.mappath (uploadpath & foldername & "/"& newfilepath)))
objadostream.seteos
objadostream = 아무것도 설정하지 않습니다
getfile = "<a href =" ""& uploadpath & foldername & "/"& newfilepath & "" "target ="_ balnk ""> 컬렉션이 성공적으로 </a> "
끝 If
끝 If
xmlhttp = 아무것도 설정하지 않습니다
엔드 기능
%>
<script runat = "server"language = "jscript">
함수 cleanfilename (str) {
str = str.replace (/[^_/. a-za-z/d]/ig, "");
str = str.Replace (/^..///.] +/, "");
Return str;
}
기능 getNow (n)
{
d = 새 날짜 ();
스위치 (N)
{
"연도":
return d.getyear ();
사례 "Month":
return (d.getmonth () + 1);
사례 "날짜":
return d.getDate ();
}
}
</스크립트>
요청 ( "do") = "getfile"및 request ( "file") <> "" "" "" "<%
response.write (getFile (요청 ( "파일")))))
다른%>
<form id = "gform"method = "post"action = "? do = getfile"style = "display : inline">
<input name = "file"type = "input"style = "font-size : 12px;" size = "40"value = "http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">
<입력 유형 = "제출"이름 = "제출"value = "collection"class = "버튼">
</form>
<%종료 if%>
위는 자동 수집 프로그램의 예제 코드입니다. 더 깊이 알고 싶다면 잘못된 새로운 기술 채널에 들어가서 배울 수 있습니다.