Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rudolfkr

Auto atualizar XML a partir de novos arquivos

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os arquivos possuem nomes pré-definidos ou pode ser qualquer nome?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode se basear em um code tipo, explorer, faça uma pesquisa , que postei um bem interessante....

Compartilhar este post


Link para o post
Compartilhar em outros sites

é,

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)...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure por code tipo, explorer, ele tem algums opções que pode te ajudar e a implementar o que deseja...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.