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.
Ao trabalhar com arquivos, no mínimo duas operações devem ser realizadas: abrir e fechar o arquivo. Programadores que conhecem a linguagem C e já trabalharam com arquivos se sentirão em casa.
Para abrir um arquivo, precisamos utilizar a função fopen(), que tem a seguinte sintaxe:
fopen(filename, mode, [use_include_path]);
filename: pode ser simplesmente um nome, ou um caminho completo. Exemplos: "arquivo.txt", "./arquivo.dat", "/data/data.txt".
mode: especifica o modo de abertura, ou seja, se o arquivo deve ser aberto para leitura, escrita, etc. Modos de abertura: - r: abre o arquivo no modo somente leitura e posiciona o ponteiro no início do arquivo; o arquivo já deve existir; - r+: abre o arquivo para leitura/escrita, posiciona o ponteiro no início do arquivo; - w: abre o arquivo no modo somente escrita; se o arquivo já existir, será sobrescrito; senão, será criado um novo; - w+: abre o arquivo para escrita/leitura; se o arquivo já existir, será sobrescrito; senão, será criado um novo; - a: abre o arquivo para anexar dados, posiciona o ponteiro no final do arquivo; se o arquivo não existir, será criado um novo; - a+: abre o arquivo para anexo/leitura, posiciona o ponteiro no final do arquivo; se o arquivo não existir, será criado um novo;
Obs: Além dos modos de abertura descritos acima, um arquivo pode ser aberto como binário, especificando o modo de abertura como "b".
use_include_path: este parâmetro é opcional; se for atribuído o valor 1, e não for especificado nenhum caminho (path) no nome do arquivo, ele será procurado no diretório especificado em include_path, no arquivo php.ini.
A função fopen() retorna um número inteiro, o indicador (handle) do arquivo. Este indicador será necessário quando formos realizar operações de leitura e escrita no arquivo, indicando qual arquivo iremos manipular. Portanto, para abrir um arquivo usamos a seguinte instrução:
<?php $fp = fopen("./arquivo.dat", "r"); // $fp conterá o handle do arquivo que abrimos ?>
Aqui estamos abrindo um arquivo já existente no modo somente leitura, e atribuindo o valor retornado por fopen() à variável $fp. $fp conterá um número inteiro positivo (o handle do arquivo) se a operação tiver sucesso; caso contrário, conterá zero.
Depois de utilizar o arquivo, é necessário que ele seja fechado. Para tanto utilizamos a função fclose():
fclose(handle_arquivo);
No caso do arquivo que abrirmos no exemplo anterior, teríamos a seguinte instrução:
[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