O programa de coleta pode obter direta ou indiretamente dados de acordo com as regras. Portanto, muitas pessoas escrevem o programa de coleção por conveniência. Então, como eles devem escrever o programa de coleção? Abaixo está o código de exemplo do programa de coleta automática compilado pelo editor da Foxin para todos.
A cópia do código é a seguinte:<%
Em erro de erro em seguida
Const uploadpath = "/uploads/" 'Caminho de armazenamento de arquivos
Const allowfileExt = "jpg, wma, swf, gif" 'permitido ser coletado tipo de arquivo
'Const allowfilesize = "200"
Função getfile (url)
Se url = "" então
Função de saída
Outro
url = acabamento (url)
Final se
'Pegue o arquivo
FILEEXT = LCASE (MID (URL, Instrrev (url, ".")+1)) 'Tipo de arquivo
nome do arquivo = lcase (MID (URL, Instrrev (url, "/")+1, Instrrev (url, ".")-Instrrev (url, "/")-1)) 'Nome do arquivo sem tipo de arquivo Tipo de arquivo
newFilePath = getNow ("Date") & "_" & Substituir (formatDateTime (agora (), 3), ":", "") & "_" & cleanFileName (nome do arquivo) & "". & FileExt
Se Instr ("," & lcase (allowFileExt) & ",", ",", "& FileExt &", ") = 0 então
getfile = "Tipo de arquivo não permitido"
Função de saída
Final se
Definir xmlhttp = server.createObject ("Microsoft.xmlHttp")
xmlhttp.open "get", url, false
xmlHttp.send
'Enquanto xmlhttp.readyState <> 4
'xmlHttp.waitforSponse 1000
'Wend
Se xmlhttp.status <> 200 então
getfile = "Erro de obter arquivo"
Função de saída
Outro
Definir pasta = server.createObject ("scripting.filesystemoBject")
Dim Foldername
FoldName = GetNow ("Ano") e GetNow ("Mês") 'Pasta
Se Folder.oldErexists (Server.mappath (uploadPath)) = false então
Folder.CreateFolder Server.Mappath (UploadPath)
Final se
Se Folder.Polderexists (Server.Mappath (UPLOPTPATH & FOLDERNAME)) = FALSE THEN THEN
Folder.CreateFolder Server.Mappath (UployPath & Foldername)
Final se
Defina a pasta = nada
arquivo = xmlHttp.ResponseBody
Se Lenb (arquivo)> permitir FILDE, em seguida
getfile = "O arquivo é grande demais para salvar!"
Função de saída
Outro
Set objadosTream = server.createObject ("adodb.str" & "eam")
objadosTream.open ()
objadosTream.type = 1
objadosTream.write (arquivo)
objadosTream.savetofile (Server.mappath (uploadPath & Foldername & "/" & newFilePath))
objadosTream.seteos
Defina objadosTream = nada
getfile = "<a href =" "" & uploadPath & Foldername & "/" & newFilePath & "" Target = "" _ Balnk ""> coleção com sucesso </a> "
Final se
Final se
Defina xmlHttp = nada
Função final
%>
<script runat = "server" idioma = "jscript">
Função CleanFilename (str) {
str = str.Replace (/[^_/. a-za-z/d]/ig, "");
str = str.Place (/^///. ]+/, "");
retornar str;
}
função getNow (n)
{
d = new Date ();
Switch (n)
{
caso "ano":
retorno d.getyear ();
caso "mês":
return (d.getMonth () + 1);
caso "data":
retorno d.getdate ();
}
}
</script>
<%se request ("do") = "getfile" e request ("arquivo") <> "" então
Response.write (getfile (request ("file"))))))
else%>
<form id = "gform" method = "post" action = "? do = getfile" style = "display: inline">
<input name = "arquivo" type = "input" style = "font-size: 12px;" size = "40" value = "http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">
<input type = "submit" name = "submite" value = "collection" class = "button">>
</morm>
<%final se%>
O acima exposto é um código de exemplo para o programa de coleta automática. Se você quiser saber mais profundamente, pode entrar no novo canal de tecnologia errado para aprender sobre isso.