โปรแกรมการรวบรวมสามารถรับข้อมูลได้โดยตรงหรือโดยอ้อมตามกฎ ดังนั้นหลายคนจะเขียนโปรแกรมคอลเลกชันด้วยตนเองเพื่อความสะดวก ดังนั้นพวกเขาควรเขียนโปรแกรมคอลเลกชันได้อย่างไร? ด้านล่างเป็นรหัสตัวอย่างของโปรแกรมคอลเลกชันอัตโนมัติที่รวบรวมโดยบรรณาธิการของ Foxin สำหรับทุกคน
การคัดลอกรหัสมีดังนี้:-
เมื่อเกิดข้อผิดพลาดต่อไป
const uploadPath = "/uploads/" 'พา ธ การจัดเก็บไฟล์
const lewlowfileext = "jpg, wma, swf, gif" 'ได้รับอนุญาตให้รวบรวมประเภทไฟล์
'const อนุญาต filesize = "200"
ฟังก์ชั่น getFile (URL)
ถ้า url = "" แล้ว
ฟังก์ชั่นออก
อื่น
url = trim (url)
สิ้นสุดถ้า
'รับไฟล์
fileext = lcase (mid (url, instrrev (url, ".")+1)) 'ประเภทไฟล์
filename = lcase (mid (url, instrrev (url, "/")+1, instrrev (url, ".")-instrrev (url, "/")-1)) 'ชื่อไฟล์ที่ไม่มีไฟล์ประเภทไฟล์
newFilePath = getNow ("วันที่") & "_" & แทนที่ (FormatDateTime (ตอนนี้ (), 3), ":", "") & "_" & cleanfileName (ชื่อไฟล์) & " & fileext
ถ้า instr ("," & lcase (lewalfileext) & ",", ",", "& fileext &", ",") = 0
getFile = "ประเภทไฟล์ไม่อนุญาต"
ฟังก์ชั่นออก
สิ้นสุดถ้า
ตั้งค่า 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 ("ปี") & getNow ("เดือน") 'โฟลเดอร์
ถ้า folder.folderexists (server.mappath (uploadPath)) = false แล้ว
Folder.CreateFolder Server.Mappath (UploadPath)
สิ้นสุดถ้า
ถ้าโฟลเดอร์ FolderExists (Server.Mappath (UploadPath & FolderName)) = FALSE แล้ว
Folder.CreateFolder Server.Mappath (UploadPath & FolderName)
สิ้นสุดถ้า
ตั้งค่าโฟลเดอร์ = ไม่มีอะไร
file = xmlhttp.responsebody
ถ้า lenb (ไฟล์)> อนุญาตให้ใช้งานแล้ว
getFile = "ไฟล์ใหญ่เกินไปที่จะบันทึก!"
ฟังก์ชั่นออก
อื่น
ตั้งค่า 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>"
สิ้นสุดถ้า
สิ้นสุดถ้า
ตั้งค่า xmlhttp = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
-
<script runat = "เซิร์ฟเวอร์" language = "jscript">
ฟังก์ชั่น cleanfileName (str) {
str = str.replace (/[^_/. a-za-z/d]/ig, "");
str = str.replace (/^ [////.like+/, "");
return str;
-
ฟังก์ชั่น getNow (n)
-
d = วันที่ใหม่ ();
สวิตช์ (n)
-
กรณี "ปี":
return d.getyear ();
กรณี "เดือน":
return (d.getmonth () + 1);
กรณี "วันที่":
return d.getdate ();
-
-
</script>
<%ถ้าคำขอ ("ทำ") = "getFile" และคำขอ ("ไฟล์") <> ""
Response.write (getFile (คำขอ ("ไฟล์")))))
Else%>
<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">
<input type = "subment" name = "subment" value = "collection" class = "ปุ่ม">
</form>
<%end ถ้า%>
ข้างต้นเป็นรหัสตัวอย่างสำหรับโปรแกรมคอลเลกชันอัตโนมัติ หากคุณต้องการทราบอย่างลึกซึ้งยิ่งขึ้นคุณสามารถป้อนช่องทางเทคโนโลยีใหม่ที่ผิดเพื่อเรียนรู้เกี่ยวกับมัน