Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debian Red
Por foxcruz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Trabalhando com arquivos em PHP
Linux user
operator
11/11/2002
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.
Por: Caio Filipini
[ Hits: 54541 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Abrindo e fechando um arquivo

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:

<?php
fclose($fp);
?>

Próxima página >>




Páginas do artigo
   1. Abrindo e fechando um arquivo
   2. Escrevendo e lendo arquivos

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[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.

[2] Comentário enviado por bianorneto em 15/03/2005 - 18:48h:

<?php
$fp = fopen("./dados.txt", "r");
do {
$char .= fgetc($fp);
} while($char);
fclose($fp);
?>

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.

[3] Comentário enviado por paulopugin em 17/04/2008 - 17:43h:

Olá,
como faço para distinguir uma quebra de linha em arquivo de texto no php?

[4] Comentário enviado por viniciusmarcius em 20/06/2008 - 02:23h:

POw car muito bom seu tuto...eu programo em c++ E TO TENTANDO ME ADAPTAR ao mundo web, com a ajuda de vocês será muito mais facil....abraços

[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.

[6] Comentário enviado por albertguedes em 24/07/2008 - 14:15h:

guiguix , esse lance deve ser no apache, e não no php.

[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 ?

Um abraço.

[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 ?

Um abraço.

[9] Comentário enviado por luizbarcelos em 08/05/2009 - 22:26h:

Olá,
Você deveria escrever um livro para iniciantes em php.
Gostei do seu tutorial, explica o comando com suas chaves,
Isso é legal.

Abraços Luiz.


[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);
?>


hehehehh

[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


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.