El programa de recopilación puede obtener datos directa o indirectamente de acuerdo con las reglas. Por lo tanto, muchas personas escribirán el programa de colección por conveniencia. Entonces, ¿cómo deberían escribir el programa de colección? A continuación se muestra el código de ejemplo del programa de colección automática compilada por el editor de Foxin para todos.
La copia del código es la siguiente:<%
En el currículum de error siguiente
Ruta de almacenamiento de archivos de uploadpath = "/uploads/" '
ConsttampIdFileExt = "JPG, WMA, SWF, GIF" 'se permite recopilar el tipo de archivo
'ConsttampIdFilesize = "200"
Función getFile (URL)
Si url = "" entonces
Función de salida
Demás
URL = TRIM (URL)
Final si
'Obtenga el archivo
FileExt = lcase (Mid (URL, Instrrev (URL, ".")+1)) 'Tipo de archivo
FileName = lcase (Mid (URL, Instrrev (URL, "/")+1, Instrrev (URL, ".")-INSTREV (URL, "/")-1)) Nombre de archivo sin tipo de archivo
newFilePath = getNow ("fecha") y "_" y reemplazar (formatDateTime (ahora (), 3), ":", "") y "_" & CleanFileName (nombre de archivo) y ".". & FileExt
if instrer ("," & lcase (tampodFileExt) & ",", ",", "& FileExt &", ") = 0 entonces
getFile = "Tipo de archivo no permitido"
Función de salida
Final si
Establecer xmlhttp = server.CreateObject ("Microsoft.xmlhttp")
xmlhttp.open "Get", URL, falso
xmlhttp.send
'Mientras que xmlhttp.readyState <> 4
'xmlhttp.waitforResponse 1000
'Encaminarse a
Si xmlhttp.status <> 200 entonces
getFile = "Error al obtener archivo"
Función de salida
Demás
Establecer carpeta = server.createObject ("scripting.filesystemObject")
Nombre de plegamiento oscuro
FolderName = getNow ("año") y getNow ("mes") 'Carpeta
If folder.foldereRexists (server.mappath (uploadPath)) = False entonces
carpeta.createFolder Server.Mappath (uploadPath)
Final si
If folder.foldereRexists (server.mappath (uploadPath & folderName)) = False entonces
carpeta.createFolder Server.Mappath (uploadPath & folderName)
Final si
Establecer carpeta = nada
archivo = xmlhttp.ResponseBody
Si Lenb (archivo)> nowFillize entonces
getFile = "¡El archivo es demasiado grande para guardar!"
Función de salida
Demás
Establecer objadostream = server.createObject ("ADODB.STR" & "EAM")
objadostream.open ()
objadostream.type = 1
objadostream.write (archivo)
objadostream.savetofile (server.mappath (uploadpath & foldername & "/" & newfilepath))
objadostream.seteos
Establecer objadostream = nada
getFile = "<a href =" "" & uploadPath & folderName & "/" & newFilepath & "" "Target =" "_ Balnk" "Collection con éxito </a>"
Final si
Final si
Establecer xmlhttp = nada
Función final
%>
<script runat = "servidor" lenguaje = "jscript">
función cleanFileName (str) {
str = str.replace (/[^_/. A-ZA-Z/D]/IG, "");
str = str.replace (/^fic///.font>+/, "");
regresar str;
}
función getNow (n)
{
d = nueva fecha ();
interruptor (n)
{
Caso "Año":
return d.getyear ();
Caso "Mes":
return (d.getMonth () + 1);
Caso "Fecha":
return d.getDate ();
}
}
</script>
<%if request ("do") = "getFile" y request ("archivo") <> "" entonces
Response.write (getFile (request ("archivo"))))
else%>
<Form ID = "GForm" Method = "Post" Action = "? Do = getFile" style = "Display: Inline">
<input name = "file" type = "input" style = "font-size: 12px;" size = "40" valor = "http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">
<input type = "enviar" name = "enviar" valor = "colección" class = "botón">
</form>
<%final si%>
Lo anterior es un código de ejemplo para el programa de colección automática. Si desea saber más profundamente, puede ingresar el nuevo canal de tecnología incorrecto para aprender sobre él.