Apesar de termos a possibilidade de trabalhar com banco de dados em PHP, existem situações em que um simples arquivo texto resolve o problema. Tratarei aqui das várias formas de abrir, ler e gravar um arquivo usando a PHP.
Agora que já sabemos como abrir e fechar um arquivo, precisamos conhecer as funções que manipulam esse arquivo. Primeiro, daremos uma olhada nas funções para escrita de dados de um arquivo.
fwrite(): Esta função permite escrever strings em um arquivo. Se os dados forem escritos com sucesso, fwrite() retorna o número de bytes escritos; caso contrário, retorna -1 (indicando erro). Ela tem a seguinte sintaxe:
fwrite(handle, string); - handle: handle do arquivo onde os dados serão escritos; - string: string a ser escrita no arquivo;
Exemplo:
<?php $fp = fopen("./dados.txt", "w"); fwrite($fp, "Hello world!"); // grava a string "Hello world!" no arquivo fclose($fp); ?>
fputs(): Esta função é semelhante à função fwrite() e funciona da mesma maneira.
Depois de escrevermos os dados no arquivo, precisamos ser capazes de ler os dados que acabamos de gravar. É exatamente isso o que iremos aprender agora, funções para leitura de dados de um arquivo.
fread(): Esta função permite ler strings gravadas em um arquivo. A sintaxe é a seguinte:
fread(handle, length); - handle: handle do arquivo de onde os dados serão lidos; - length: tamanho em bytes do buffer de leitura;
Exemplo:
<?php $fp = fopen("./dados.txt", "r"); $text = fread($fp, 20); // lê 20 bytes do arquivo e armazena em $text fclose($fp); ?>
fgets(): Esta função é usada na leitura de strings de um arquivo. fgets() lê "length - 1" bytes do arquivo. Se for encontrado o final da linha e o número de bytes especificados não tiver sido atingido, fgets() terminará a leitura no final da linha (ou no final do arquivo, se for o caso). Eis a sua sintaxe:
fgets(handle, length); - handle: handle do arquivo de onde os dados serão lidos; - length: tamanho em bytes do buffer de leitura;
file(): Esta função lê um arquivo completo, e armazena cada linha do arquivo como um elemento de um array. Depois de ler todo o conteúdo do arquivo, file() o fecha automaticamente, não sendo necessária uma chamada a fclose(); Vejamos a sintaxe:
file(filename); - filename: nome ou caminho completo de um arquivo.
Além dessas funções para leitura e escrita, existe ainda uma função bastante útil, que testa se o final do arquivo foi atingido. É a função feof(), que tem a seguinte sintaxe:
É isso aí! Existem diversas outras funções em PHP para a manipulação de arquivo, inclusive para acesso aleatório. Porém, o intuito deste tutorial é mostrar a base da manipulação de arquivos. Aqueles que estiverem interessados em aprender o assunto mais a fundo, há uma referência de todas as funções da linguagem PHP no manual, disponível em http://www.php.net.
[1] Comentário enviado por lamss em 25/12/2002 - 17:00h
Estou começando a programar em PHP e essas dicas
são interessantes para os iniciantes nessa linguagem
de programação...
Valeu espeso ver mais dessas dicas aqui nesse site.
Parabéns pelo artigo, mas acho que na próxima página, a função fgetc você equivocadamente colocou (.=) e pelo menos no meu pc nao funcionou, somente funcionou depois que troquei colocando (=). Valeu.
[5] Comentário enviado por guiguix em 29/06/2008 - 11:50h
Olá queridos colegas doVOL, eu uso um Slack12 c/ Apache PHP e MySQL (que vem nele).... porém ocorre o seguinte:
O módulo PHP só reconhece a abertura "<?php" .... ou seja, ele não reconhece o "<?" ....
alguém pode me ensinar como alterar isso?
já baixei o livro do Craig, e o tal PHPTOTAL, e nada! Já abri os arquivos de configuração do php e não percebi nenhuma configuração do tipo.
[7] Comentário enviado por eduardo.azevedo em 31/07/2008 - 13:38h
Olá,
Sou iniciante, em meus testes ja consegui fazer a leitura de um arquivo e apresenta-lo em uma pagina, contudo eu gostaria de manipular a informação que quero que apareça.
tipo.. quero que apereça em um determinado "form" uma posição e tamanho deste arquivo.
Você ja fez isto alguma vez ?
[8] Comentário enviado por eduardo.azevedo em 31/07/2008 - 13:41h
Sou iniciante, em meus testes ja consegui fazer a leitura de um arquivo e apresenta-lo em uma pagina, contudo eu gostaria de manipular a informação que quero que apareçe.
tipo.. quero que apereça em um determinado "form" uma posição e tamanho deste arquivo.
Você ja fez isto ?
[10] Comentário enviado por C.A.R.O em 20/04/2010 - 13:42h
Muito bom o artigo , estou usando ele para fazer um site tipo como o youtube :D , valeu ai por compartilhar .
<?php
$fp = fopen("./teste.php", "a+");// usando o a+ adiciona a informação ao final do arquivo
fwrite($fp, "\nHello world!"); // grava a string "Hello world!" no arquivo
fclose($fp);
?>
[11] Comentário enviado por alex_arantes8 em 11/04/2012 - 22:25h
boa noite preciso de uma ajuda se possivel em PHP urgente ,.
tenho o seguinte problema.
arquivo1- contem varias linha como abaixo
78900000
78911111
78922222
certo, ok.
arquivo2. contem varias linha tambem segue abaixo
789355555
789644444
789733333
porem preceiso checar o arquivo dois(2) com o arquivo (1) se os 3 caracteres primeiro for igual gravo a linha do arquivo 2 dentro do arquivo 1 ficando assim
arquivo 1 depois que rodar o scrip.
789355555
789644444
789733333
Ugente