|
Funções para txt
Enviado em 05/06/2007 - 07:04
Fonte: A A A A
Vamos abordar as seguintes funções: - fopen() - abre um arquivo
- fwrite() - escreve em um arquivo
- fclose() - fecha um arquivo
Algumas referências: Exemplo de uma manipulação:
| <?php // Abre ou cria o arquivo exemplo1.txt // "a" representa que o arquivo é aberto para ser escrito $fp = fopen("exemplo1.txt", "a");
// Escreve "primeiro exemplo" no exemplo1.txt $escreve = fwrite($fp, "primeiro exemplo");
// Fecha o arquivo fclose($abre); ?> | Como resultado é criado um arquivo chamado exemplo1.txt, escrito "primeiro exemplo". Se você repetir a ação, "primeiro exemplo" será escrito novamente no fim desse arquivo.
É importante notar que você tem diversas maneiras de abrir um arquivo, que são representadas por letras. No exemplo acima utilizamos o modo "a", veja abaixo a lista de todos os modos e suas descrições: - 'r' - abre somente para leitura; coloca o ponteiro no começo do arquivo.
- 'r+' - abre para leitura e gravação; coloca o ponteiro no começo do arquivo.
- 'w' - abre somente para gravação; coloca o ponteiro no começo do arquivo e apaga o conteúdo que já foi escrito. Se o arquivo não existir, tenta criá-lo.
- 'w+' - abre para leitura e escrita; coloca o ponteiro no início do arquivo e apaga o conteúdo que já foi escrito. Se o arquivo não existir, tenta criá-lo.
- 'a' - abre o arquivo somente para escrita; coloca o ponteiro no fim do arquivo. Se o arquivo não existir, tenta criá-lo.
- 'a+' - abre o arquivo para leitura e gravação; coloca o ponteiro no fim do arquivo. Se o arquivo não existir, tenta criá-lo.
Com estas três funções você pode criar, escrever e fechar um arquivo facilmente. Lembrando que você também pode usar a função fputs() (http://www.php.net/manual/pt_BR/function.fputs.php) para escrever em um arquivo.
Funções extra: Primeiro vamos criar um formulário simples para o usuário cadastrar seus dados, que pode ser chamado de form.html:
CADASTRO:
| <form method="POST" action="cadastra.php"> Nome: <input type="text" size="10" name="nome"><br> E-mail: <input type="text" size="10" name="email"><br> Endereço: <input type="text" size="10" name="endereco"><br> Telefone: <input type="text" size="10" name="telefone"><br> <br><input type="submit" value="cadastrar"> </form> | Este formulário passará as variáveis nome, email, endereco e telefone, que serão cadastradas em seu respectivo arquivo de texto. A ação do formulário está como cadastra.php, que será o arquivo contendo o necessário para cadastrar o usuário no arquivo.
| <?php // Verifica se todos os campos foram preenchidos if (!$nome || !$email || !$endereco || !$telefone) { echo "preencha todos os campos"; } else { // Verifica se um usuário com o mesmo nome já foi cadastrado if(!file_exists($nome . ".txt")) { // Criamos o arquivo do usuário com w+ $cria = fopen($nome . ".txt", "w+");
// Aqui iremos declarar as informações do usuário // São separadas por | para depois podermos recupera-las com explode $dados .= "$nome|"; $dados .= "$email|"; $dados .= "$endereco|"; $dados .= "$telefone";
// Agora escrevemos estes dados no arquivo $escreve = fwrite($cria,$dados);
// Fechando o arquivo fclose($cria);
// Exibe a mensagem de usuário cadastrado echo "usuário cadastrado com sucesso!"; } else { // Se já houver um usuário cadastrado com o mesmo nome echo "um usuário chamado $nome já foi cadastrado"; } } ?> | Como você pode ver, agora estamos interagindo com funções básicas, com as funções que vimos neste artigo. Com estes dois arquivos criados nós já temos o envio de dados para um arquivo de texto, onde os valores são separados por "|".
O caracter "|" será utilizado para separar os dados, com se fossem colunas. Com a função explode poderemos separar os dados a gosto.
Por fim, criaremos um arquivo para visualizar todos os usuários cadastrados. Estaremos usando a função readdir(), que é essencial para quem usar sistemas desse tipo.
| <?php // Primeiro definiremos onde estão os arquivos // ./ significa que os arquivos estão no diretório atual $dir = "./";
// Abre o diretório $dir $abredir = opendir($dir);
// Faz o loop para a exibição de usuários while ($arqs = readdir($abredir)) { // Aqui fazemos o php tirar "." e ".." que são "bugs" do readdir() // Também faz com que só sejam abertos arquivos de texto if ($arqs != "." && $arqs != ".." && is_file($arqs) && ereg(".txt", $arqs)) {
// Agora iremos abrir arquivo por arquivo, e exibir os dados do usuário // Usamos o "r" pois somente queremos ler o arquivo $abre = fopen($arqs,"r");
// Usamos fread agora para ler o arquivo $le = fread($abre,filesize($arqs));
// Agora vem o grande truque, separamos os dados pelo "|" com explode $dado = explode("|",$le);
// Define os registros $nome = $dado['0']; $email = $dado['1']; $endereco = $dado['2']; $telefone = $dado['3'];
// Vamos mostrar os dados que obtivemos echo "Usuário: <b>$nome</b><br>"; echo "nome: $nome<br>"; echo "e-mail: $email<br>"; echo "endereço: $endereco<br>"; echo "telefone: $telefone<br><br>"; } }
// Fecha o diretório closedir($abredir); ?> | Assim é feito um simples script, com um banco de dados simulado em um arquivo de texto. Você pode incrementar muito mais e fazer scripts mais amplos e cada vez mais úteis!
| Por: Igor H. da Cruz Fonte: www.vivaolinux.com.br
Enviado por: brunohcs
Postado em: PHP
Esse artigo foi visualizado 2414 vezes
Compartilhe este artigo
Recomende este artigo a um amigo
Voltar |
>> Comentários
Comentar |
|