Le programme de collecte peut obtenir directement ou indirectement des données selon les règles. Par conséquent, de nombreuses personnes rédigeront elles-mêmes le programme de collecte pour plus de commodité. Alors, comment devraient-ils rédiger le programme de collection? Vous trouverez ci-dessous l'exemple de code du programme de collecte automatique compilé par l'éditeur de Foxin pour tout le monde.
La copie de code est la suivante:<%
Sur l'erreur reprendre ensuite
Const uploadpath = "/ uploads /" 'Chemin de stockage de fichiers
Const allowfileext = "jpg, wma, swf, gif" 'autorisé à être collecté type de fichier
'Const pertefilesize = "200"
Fonction getfile (URL)
Si url = "" alors
Fonction de sortie
Autre
url = garniture (URL)
Terminer si
'Obtenez le fichier
fileExt = lCase (mid (URL, instrrev (url, ".") + 1)) 'type de fichier
fileName = lCase (mid (url, instrrev (url, "/") + 1, instrrev (URL, ".") - instrrev (url, "/") - 1)) 'nom de fichier sans type de fichier
newFilePath = getNow ("Date") & "_" & remplacer (FormatDateTime (maintenant (), 3), ":", "") & "_" & CleanFileName (filename) & "." & Fileext
Si instr ("," & lcase (allowFileExt) & ",", ",", "& filext &", ") = 0 alors
getFile = "type de fichier non autorisé"
Fonction de sortie
Terminer si
Définir xmlhttp = server.createObject ("Microsoft.xmlhttp")
xmlhttp.open "Get", URL, faux
xmlhttp.send
'Tandis que xmlhttp.readystate <> 4
'xmlhttp.waitforResponse 1000
'Wend
Si xmlhttp.status <> 200 alors
getFile = "Erreur d'obtention du fichier"
Fonction de sortie
Autre
Set Folder = Server.CreateObject ("Scripting.FileSystemObject")
Nom de dossier dim
FolderName = getNow ("année") & getNow ("mois") 'Folder'
Si dosder.folderexists (server.mappath (uploadpath)) = false alors
dossier.createfolder server.mappath (uploadpath)
Terminer si
Si dosder.folderexists (server.mappath (uploadpath & foldername)) = false alors
Folder.CreateFolder Server.Mappath (UploadPath & FolderName)
Terminer si
Set dossier = rien
fichier = xmlhttp.Responsebody
Si LENB (fichier)> pertefilesize alors
getFile = "Le fichier est trop grand pour enregistrer!"
Fonction de sortie
Autre
Définir objadostream = server.createObject ("adodb.str" & "eam")
objadostream.open ()
objadostream.type = 1
objadostream.write (fichier)
objadostream.savetofile (server.mappath (uploadpath & foldername & "/" & newFilePath))
objadostream.seteos
Définir objadostream = rien
getFile = "<a href =" "" & uploadpath & foldername & "/" & newFilePath & "" "Target =" "_ Balnk" "> Collection avec succès </a>"
Terminer si
Terminer si
Définir xmlhttp = rien
Fonction finale
%>
<script runat = "server" linguistique = "jscript">
fonction CleanFileName (str) {
str = str.replace (/ [^ _ /. a-za-z / d] / ig, "");
str = str.replace (/^@///.
retour STR;
}
fonction getNow (n)
{
d = new Date ();
commutateur (n)
{
cas "année":
retour d.getyear ();
cas "mois":
return (d.getMonth () + 1);
cas "Date":
retour d.getDate ();
}
}
</cript>
<% si demande ("do") = "getFile" et demande ("fichier") <> "" puis
réponse.write (getFile (request ("fichier"))))
else%>
<form id = "gform" metheth = "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 = "soumi" name = "soumi" value = "collection" class = "bouton">
</ form>
<% fin si%>
Ce qui précède est un exemple de code pour le programme de collecte automatique. Si vous voulez en savoir plus profondément, vous pouvez entrer dans le mauvais canal de la nouvelle technologie pour en savoir plus.