Program pengumpulan dapat secara langsung atau tidak langsung mendapatkan data sesuai dengan aturan. Oleh karena itu, banyak orang akan menulis program koleksi sendiri untuk kenyamanan. Jadi bagaimana mereka harus menulis program pengumpulan? Di bawah ini adalah contoh kode program pengumpulan otomatis yang disusun oleh editor Foxin untuk semua orang.
Salinan kode adalah sebagai berikut:<%
Pada kesalahan resume berikutnya
Const uploadpath = "/unggah/" 'jalur penyimpanan file
Const allowfileext = "jpg, wma, swf, gif" 'diizinkan untuk dikumpulkan jenis file
'Const AllowfileSize = "200"
Function GetFile (URL)
Jika url = "" lalu
Fungsi keluar
Kalau tidak
url = trim (url)
Akhiri jika
'Dapatkan file
fileExt = lcase (mid (url, instrrev (url, ".")+1)) 'Jenis file
FileName = lcase (mid (url, instrrev (url, "/")+1, instrrev (url, ".")-instrrev (url, "/")-1)) 'nama file tanpa jenis file jenis file
newFilePath = getNow ("date") & "_" & ganti (formatDateTime (sekarang (), 3), ":", "") & "_" & cleanFileName (nama file) & "." & fileext
if instr ("," & lcase (AllowFileExt) & ",", ",", "& FileExt &", ") = 0 Lalu kemudian
getFile = "Jenis file tidak diperbolehkan"
Fungsi keluar
Akhiri jika
Setel xmlhttp = server.CreateObject ("microsoft.xmlhttp")
xmlhttp.open "get", url, false
xmlhttp.send
'Sedangkan xmlhttp.readystate <> 4
'xmlhttp.waitforResponse 1000
'Pergi ke
Jika xmlhttp.status <> 200 maka
getFile = "kesalahan mendapatkan file"
Fungsi keluar
Kalau tidak
Set Folder = Server.CreateObject ("Scripting.FilesystemObject")
Nama lipat redup
FolderName = getnow ("year") & getnow ("month") 'folder
Jika folder.Folderexists (server.mappath (unggahpath)) = false maka
folder.createFolder server.mappath (unggahpath)
Akhiri jika
If folder.folderexists (server.mappath (unggahPath & folderName)) = false kemudian
folder.createFolder server.mappath (unggahpath & foldername)
Akhiri jika
Atur folder = tidak ada
file = xmlhttp.responseBody
Jika lenb (file)> allowfileze kemudian
getFile = "File ini terlalu besar untuk disimpan!"
Fungsi keluar
Kalau tidak
Setel objadoStream = server.CreateObject ("adodb.str" & "eam")
objadostream.open ()
objadostream.type = 1
objadostream.write (file)
objadostream.savetofile (server.mappath (unggahpath & foldername & "/" & newFilePath)))
objadostream.seteos
Setel objadostream = tidak ada
getFile = "<a href =" "" & unggahpath & foldername & "/" & newfilePath & "" "Target =" "_ Balnk" "> Koleksi berhasil </a>"
Akhiri jika
Akhiri jika
Setel xmlhttp = tidak ada
Fungsi akhir
%>
<skrip runat = "server" bahasa = "jscript">
fungsi cleanfileName (str) {
str = str.replace (/[^_/. a-za-z/d]/ig, "");
str = str.replace (/^ media///.ht+/, "");
mengembalikan str;
}
function getnow (n)
{
d = tanggal baru ();
Switch (n)
{
kasus "tahun":
return d.getyear ();
Kasus "Bulan":
return (d.getMonth () + 1);
Kasus "Tanggal":
return d.getDate ();
}
}
</script>
<%jika permintaan ("do") = "getFile" dan permintaan ("file") <> "lalu
response.write (getFile (request ("file")))))
lain%>
<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 = "kirim" name = "kirim" value = "collection" class = "Tombol">
</form>
<%berakhir jika%>
Di atas adalah kode contoh untuk program pengumpulan otomatis. Jika Anda ingin tahu lebih dalam, Anda dapat memasukkan saluran teknologi baru yang salah untuk mempelajarinya.