Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom... as vezes o negócio pode ser mais simples do que parece, mas pelo que procurei no "Todo Poderoso (google)" e até mesmo aqui no forum não achei nada que pude-se me ajudar, a não ser que tenha feito a busca errado. Pois bem a dúvida é o seguinte.
Preciso que todo o dia uma função VEJA se tem novos arquivos no diretorio X (essa ação de verificar pode ser quando o usuario entra no site sem problema)
Ou seja, ele entra ativa a função que verifica se tem um XML novo no FTP, após isso ele lê o XML (isso eu fiz) e insere os dados no banco de dados (isso também).
Após ele fazer isso, de gravar no banco a leitura do XML eu preciso que esse XML seja DELETADO, ou seja, o que não consigo fazer é "checar" na pasta se existe arquivo novo de xml, e após a leitura e inserção no banco de dados ele seja deletado..
Alguém já passou por um problema semelhante? Alguém tem um dica de como fazer, como se faz ou algum lugar explicando como fazer?
Vlws pelo help que o pessoal sempre me dá! Thanks!
você pode fazer isso usando FSO, assim que o user fez login, você executa essa função, tipo um explorer e verifica se tem algum novo arquivo,
lendo uma determinada pasta,e
após isso ele lê o XML (isso eu fiz) e insere os dados no banco de dados (isso também).
depois de ler o XML atraves do FSO tambem você exclui ele, você consegue fazer essa checagem com FSO
>
Os arquivos possuem nomes pré-definidos ou pode ser qualquer nome?
Não na verdade serão nomes gerados "aleatoriamente" por assim dizer... porém serão APENAS números..
ex: 9472.xml
5475.xml
4557.xml
Por que funciona assim, as empresas quando gerarem um XML irá gravar nesta pasta. Que virá DIREITO do programa(software) saca?
Xanburzum, vou procurar sobre o FSO, recomenda algum artigo interessante sobre?
Crie uma rotina em FSO que verifica os arquivos, pegue a última data e cadastre no sistema, dae quado voltar a roda o sistema verifique se existe arquivos com data superior aquela dae mande o sistema mostrar e grave novamente a última data... e assim vai.
você pode se basear em um code tipo, explorer, faça uma pesquisa , que postei um bem interessante....
é,
de fato pelo que entendi, está parecendo que você quer algo automático, esse script sempre gere no servidor, bom e pelo que eu sei, isso aí é só com agendamento de tarefas, o que não é tão simples de ser implementado...
uma segunda opção seria essa mesmo,você logar todo dia e ao fazer o login, verificar se existem novos arquivos na pasta (você poderia ter um xml secundário para fazer essa comparação)...
Tenho um sistema que faz algo parecido, porém com fotos, mas a lógica poderia ser a mesma.
Uma rotina abre a pasta utilizando FileSystem Object, e para cada arquivo existente lá, ele redimensiona as imagens, cria thumbs, salva em outra pasta, armazena os nomes no DB e deleta todos os arquivos.
Caso não possa remover os arquivos, voce pode armazenar os já existentes no DB, e ao ler novamente, verificar se ja existem, caso não, executar o processamento.
Abaixo segue um exemplo de como pode ser feita essa leitura do diretório e arquivos.
<%
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set Pasta = Fso.GetFolder(Server.MapPath("pasta"))
Set Arquivos = Pasta.Files
For Each Arquivo in Arquivos
NomeArquivo = Arquivo.Name
If((Right(NomeArquivo,4) = ".xml") OR (Right(NomeArquivo,4) = ".XML")) then
'Processa o arquivo
' Verificar permissões para deletar arquivos
Arquivo.Delete
End if
Next
%>
Abraços.
procure por code tipo, explorer, ele tem algums opções que pode te ajudar e a implementar o que deseja...
Os arquivos possuem nomes pré-definidos ou pode ser qualquer nome?