Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como salvar o conteúdo de um array em um arquivo txt?


Matheus Matos

Pergunta

Olá galera! Gostaria de saber se existe algum modulo que salva o conteúdo dos elementos de um array, vou explicar, obeservem o CODE:

<html>
<head>
<title>Dúvida com Javascript</title>
</head>
<body>

&lt;script type="text/javascript">
<!--
  var exemplo = new Array();
  exemplo[0] = "arquivodeexemplo.txt"
  exemplo[1] = "123"
  exemplo[2] = "456"
  
  aqui eu gostaria de ter uma função onde juntasse o conteúdo dos elementos do array (menos o primeiro) e pedisse um local para salvar como um txt, ou seja, o javascript juntaria o 123456 e pediria um local ao usuario para salvar como um txt.
um nome padrão para o arquivo seria o conteudo do primeiro elemento do array. no caso arquivodeexemplo.txt
  }
//-->
</script>

</body>
</html>

tem como? me ajudem! Se não fui claro digam-me onde não entenderam a pergunta que eu tento esclarecer!, mas me ajudem por favor!

Editado por Matheus Matos
Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Javascript não pode jogar o tal txt diretamente pra sua máquina. Seria a mesma coisa que criar uma função que pega um arquivo com virus e baiax ele, sem o seu consentimento.

PORÉM, caso você tenha conseguido criar o arquivo (e ele esteja em algum lugar no seu site), você pode então criar um link pra ele, aonde o usuário pode clicar pra baixar. ;)

Editado por fiote
Link para o comentário
Compartilhar em outros sites

  • 0

Salvar arquivos com Javascript seria algo bem complicado. Mas não impossível.

Tente algo como isso:

<html>
<head>
<script type="text/javascript">
onload=function(){
    var arquivo="arquivo.txt"
    var fso=new ActiveXObject("Scripting.FileSystemObject")
    fso.OpenTextFile(arquivo,ForWriting)
    var valor_inicial=PegaValor(arquivo)
    alert("Valor inicial: \n"+valor_inicial)
    file.Write("Contagem "+(parseInt(valor_inicial.replace("Contagem ",""))+1))
    file.WriteLine()
}
function PegaValor(arquivo){
    var fso=new ActiveXObject("Scripting.FileSystemObject")
    var file=fso.OpenTextFile(arquivo,ForReading)
    return fs.read
}
</script>
</head>
<body>

</body>
</html>

Mas seria um grande problema com navegadores. Só funcionaria no IE.

Obs.:

No IE8 não consegui abrir o arquivo para gravar (ForWriting), apenas para leitura (ForReading)

Sendo assim, só testei a parte de leitura. Mas deve funcionar em outras versões

Link para o comentário
Compartilhar em outros sites

  • 0

Mas mesmo com a autorização do usuário? o Javascript não pode fazer isso? Tipo, assim que eu executasse o script, imediatamente apareceria uma mensagem do tipo:

selecione o local para salvar o arquivo, e já a caixinha de browse, para o usuário clicar, escolher a pasta e nome do arquivo txt, que arquivo txt seria esse? O Conteúdo de todas as arrays do documento!

Sei que posso fazer isso informando um link do local do txt para o usuario clicar e fazer o download, mas gostaria que fosse na hora, porque quem vai colocar o conteúdo na array é o proprio usuario, a partir do método push e unshift, aí é que tá, quando ele terminasse de preencher todos os campos, (ou arrays), queria que tivesse um botão embaixo do tipo fazer um backup de tudo o que ele preencheu, e é uma forma também do usuário deixar registrado o que preencheu! Se não der pra fazer podem me dizer se é possível com outra linguagem de programação? Procurei o Javascript porque é uma linguagem simples, pode ser usada sem a necessidade de banco de dados e é quase tão poderosa como o C, e Java!

Ajudem-me, mas se realmente não der pra fazer me indiquem outra linguagem, actionscript do flash ou então uma linguagem serverside mesmo!

Link para o comentário
Compartilhar em outros sites

  • 0

À princípio não é possível fazer com javascript. No entanto é possível referenciar controles activex no usuário que façam isso (só irá funcionar no Internet Explorer). Em VBScript é ainda mais fácil de se fazer isso.

Provavelmente já utilizou AJAX numa de suas aplicações, certo ?

Em versões inferiores ao IE 7 o AJAX é utilizado dessa forma (obviamente, você terá que programar isso)

Vou pesquisar aqui, se achar algo posto aqui !

Link para o comentário
Compartilhar em outros sites

  • 0
À princípio não é possível fazer com javascript. No entanto é possível referenciar controles activex no usuário que façam isso (só irá funcionar no Internet Explorer). Em VBScript é ainda mais fácil de se fazer isso.

Provavelmente já utilizou AJAX numa de suas aplicações, certo ?

Em versões inferiores ao IE 7 o AJAX é utilizado dessa forma (obviamente, você terá que programar isso)

Vou pesquisar aqui, se achar algo posto aqui !

O que seria esse VBScript? O Visual Basic? Ele roda na web?

Link para o comentário
Compartilhar em outros sites

  • 0

estou bolando uma especie de IDE online pra mim e a maneira que estou utilizando pra "salvar" arquivos no desktop é a seguinte: O usuario digita todo o texto que quer la e quando clica em salvar, abre uma janela pedindo que formato ele quer. Depois de escolhido o formato, faco uma requisicao via ajax ao servidor enviando por get o nome e formato do arquivo e por post o proprio texto. então o php pega esse texto recebido, monta o arquivo da maneira que eu especificar via get e então salva numa determinada pasta do servidor esse arquivo e retorna para o ajax, o caminho no servidor onde esta esse arquivo. Ai então abrira uma janela modal tampando toda a tela com um link com o nome do arquivo e quando clicr nele, o arquivo sera baixado para o computador...

Para ler este arquivo, se ele estiver no computador do usuario o processo seria quase igual: Ele quando clicar em abrir, sera aberto uma janelinha com uma opcao de selecionar arquivo (campo file) e então ele selecionara o arquivo e enviara o texto via post para o servidor e o servidor vai retornar o texto para a IDE.

Tu poderia, dependendo da necessidade, se aproveitar do que o browser faz por você. Se você tentar abrir um arquivo .txt pelo browser, o texto inteiro ira aparecer ali... já pensou em usar frames pra abrir esses arquivos? Iframes tmb da... :P

Espero ter ajudado. T+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...