Ir para conteúdo

POWERED BY:

Arquivado

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

RPBS

Gravar valor de variáveis em um arquivo de texto

Recommended Posts

Eu estou com a seguinte dúvida:

 

Eu quero pegar os dados de um campo dinâmico ou de um input e gravar em uma variável, e depois disso salvar em um arquivo de texto.

 

Como eu faço isso? Tenho umas noções de como começar, mas não sei como salvar os valores em um arquivo de texto.

E será que seria possível enviar esse arquivo por email? Usando talvez um send mail em PHP?

 

Desde já agradeço.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado, mas ainda não é o que estou querendo.

 

Eu quero fazer da seguinte forma:

Pegar os dados de um Input Text, por exemplo, e armazenar os dados em uma variável e assim então salvar esses dados em um arquivo de texto.

 

 

De qualquer forma valeu por ter postado. Não conhecia a class FileReference. Dei uma lida no material e realmente é muito bom.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tu quer algo assim:

flash

 


var respo:TextField = this.createTextField("resp", 1, 20, Stage.height - 20, 200, 20);
var vars:LoadVars = new LoadVars();

vars.texto = "Texto a ser escrito no teste.txt";

vars.sendAndLoad("grava.php", vars, "POST");
vars.onLoad = function(){
	if(vars.resp == 1){
		respo.text = vars.resp;
	}else {
		respo.text = "Falha ao gravar arquivo"; 
	}
}

grava.php

$filename = 'test.txt';
$somecontent = $_POST['texto'];

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, 'a')) {
         echo "&resp=2&";
         exit;
    }

    // Write $somecontent to our opened file.
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "&resp=2&";
        exit;
    }

    echo "&resp=1&";

    fclose($handle);

} else {
    echo "&resp=2&";
}

Teste em ambiente local ou web e não esqueça de dar a pasta as permissões para que possa usar FOPEN

Caso não consiga usar fopen leia sobe file() em http://php.net/file

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que vai me ajudar bastante. Vou dar uma estudada no código para aprender o seu funcionamento.

 

Muito obrigado mesmo.

 

E se tipo, se não for pedir muito. Se você por acaso puder explicar o funcionamento dos comandos desse código, ficaria muito agradecido também.

 

Mas de qualquer forma, obrigado.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o PHP não preciso explicar né ele ta explicadinho... em inglês, mas tá rs...

 

/*
* Crio o campo de texto de resposta
* respo = nome do campo
* 1 igual depth profundidade
* 20 igual a posição X no palco
* Stage.height - 20 igual a posição Y (Stage.height = altura total do seu palco - 20 para diminuir o tamanho do campo de texto
* 200 igual a largura do campo
* 20 altura do campo de texto
*/
var respo:TextField = this.createTextField("respo", 1, 20, Stage.height - 20, 200, 20);

//vars = objeto responsavel pelo carregamento e envio de variaveis para o PHP ou ASP
var vars:LoadVars = new LoadVars();

//Aqui eu adiciono uma variavel que vai ser passada via POST para o php, e o texto é só de teste
vars.texto = "Texto a ser escrito no teste.txt";

//Envio a variavel para o arquivo grava.php, e vou receber os dados enviados do php pela mesma variavel chamada vars, e o metodo escolhido foi POST
vars.sendAndLoad("grava.php", vars, "POST");

/*
* onLoad é com L maiúsculo o forum deixa minusculo
* função que depois de enviar... e o php responder vai ser chamada para dar display do resultado na sua tela, no campo criado como respo
*/
vars.onload = function(){
 	//verifico se a resposta do php 1 para conseguiu e 2 para erro
 if(vars.resp == 1){
 respo.text = vars.resp;
 }else {
 respo.text = "Falha ao gravar arquivo"; 
 }
}

 

Vamos ao PHP assim explico tudo e tu não fica com dúvidas:

//Nome do arquivo txt a ser criado
$filename = 'test.txt';
//Conteúdo a ser escrito no arquivo txt
$somecontent = $_POST['texto'];

// Verifico se o arquivo é passivel de ser alterado ou não
if (is_writable($filename)) {

	//Nesse exemplo estou usando o modo APPEND ou seja ele vai adicionar a informação logo a baixo do que já estiver escrito no arquivo
	if (!$handle = fopen($filename, 'a')) {
 	//Se eu não conseguir abrir o arquivo e der erro, ele vai entrar nessa função e retornar pro flash como erro
 	echo "&resp=2&";
 	exit;
	}

	// Escrevo o conteúdo desejado no meu arquivo
	if (fwrite($handle, $somecontent) === FALSE) {
 	//Se eu não conseguir escrever e der erro, ele vai entrar nessa função e retornar pro flash como erro
 	echo "&resp=2&";
 	exit;
	}
	//Aqui significa que ele conseguiu abrir e escrever sem erro nenhum por isso da a resposta positiva para o flash
	echo "&resp=1&";
 //Fecho o arquivo
	fclose($handle);

} else {
	//Mando a mensagem de volta pro flash porque o arquivo não pode ser alterado
	echo "&resp=2&";
}

 

Tradução meio porquinha, mas acredito que de para entender o que os arquivos fazem.

Lembrando que eu não testei o código, é passivel de conter erros.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a demora na resposta.

 

Muito obrigado mesmo pela atenção. Vou ir testando o código aqui e procurando mais sobre o assunto tbm.

E obrigado tbm por ter comentado o código. É de grande ajuda mesmo, pois ai me permite entender o código e o que ele faz.

 

Mais uma vez, obrigado.

 

Abraço

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.