+7

Manipulando Arquivos pelo PHP

criado por ... em 10/08/2003 4:43pm
Para começar este artigo, irei mostrar como abrir um arquivo e escrever nele, algo que poderia ser usado para criar um script de mensagens, ou até mesmo um simples guestbook.

As funções que iremos utilizar são fopen(), fwrite() e fclose().

Descrição:
fopen() - abre um arquivo
fwrite() - escreve em um arquivo
fclose() - fecha um arquivo

Referências:
http://www.php.net/manual/en/function.fopen.php
http://www.php.net/manual/en/function.fwrite.php
http://www.php.net/manual/en/function.fclose.php

Lembre-se: Sempre que manipularmos um arquivo, iremos usar fopen() e fclose().

<?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, tentar 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, tentar criá-lo.

'a' - Abre o arquivo somente para escrita; coloca o ponteiro no fim do arquivo. Se o arquivo não existir, tentar criá-lo.

'a+' - Abre o arquivo para leitura e gravação; coloca o ponteiro no fim do arquivo. Se o arquivo não existir, tentar 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.

Na próxima página veremos como ler e exibir o conteúdo de um arquivo.

Comentários:

Mostrando 1 - 10 de 28 comentários
Usuário PHP disse:
Artigo muito bom!!!

Alguém sabe me informar como eu faço para mover arquivos de uma pasta para outra???

Grato,
Marcelo G. Moraes
28/06/2006 7:05am (~15 anos atrás)

Este artigo matou a pau ..parabéns
13/06/2005 8:55am (~16 anos atrás)

Ricardo Sá disse:
Como faço para ler um arquivo byte a byte?
Por exemplo: Tenho o arquivo texto assim..
0125336008
os 4 bytes seriam o codigo
0124
Os proximos 3 bytes uma outra coisa..
336
e os ultimos 3 mais outra coisa qualquer..
008
26/09/2004 9:39pm (~17 anos atrás)

... disse:
use MySQL se voce tem como. se for um banco grande o arquivo de texto fica mto pesado e gera lerdeza.
dreaz
29/04/2004 10:29pm (~17 anos atrás)

Tairo disse:
No caso se eu fosse usar um banco de dados em TXT e outro em mySQL qual seria mais rápido, não em termo de facilidade que eu digo mas sim em termo de velocidade.
11/01/2004 7:04pm (~18 anos atrás)

Miguel Lohan disse:
Gente:

Aqui é um fórum para troca de informações, aqui existe todo nível de pessoas (nível técnico) Alguns são muito feras e sabem tudo, outros como eu não sabem nada :) Acho que qualquer artigo ou contribuição sempre ajuda, o cara ao menos passa a ter idéia de como a coisa funciona e como pode usar, se precisar.

O Que seria do verde se não fosse existissem o amarelo e o vermelho :)

[]'s

Phpman
14/09/2003 8:30am (~18 anos atrás)

Apliquei numa necessidade que eu tinha aqui no trabalho, e funcionou perfeitamente. Obrigado.
05/09/2003 7:05am (~18 anos atrás)

Andreas,
Não leve isso para o lado pessoal, e eu tenho muito a lhe agradecer pelo artigo porque me fez cair a ficha quanto à importância da XML. Me desculpe se, ao comentar seu artigo, você se sentiu ofendido. O que aconteceu foi que eu me libertei de usar o mesmo esquema proposto, que não é errado, funciona bem, era o que eu iria fazer, e criar um sistemeu, no meu padrão, como fazem Oracle, MySQL, MsWord. Você fica dependente da ferramenta deles.
Quanto ao XML não é tão complexo e com a descrição da php.net e os exemplos é tranquilo. Para o MySQL/XML tem uma classe na phpclasses.org. Também do MySQL já me libertei a algum tempo usando a classe adoDB, que é espetacular. O x da programação é aprender a usar as melhores práticas, apenas isso, e esse aprendizado não tem fim. Desculpe e obrigado por me proporcionar esta reflexão.
29/08/2003 6:49am (~18 anos atrás)

... disse:
desculpa mas eu escrevi o artigo para ajudar que não sabe ou nao possui, xml, mysql e etc. se você quer dizer que este metódo é ultrapassado, ou que xml é melhor, ou que você faria melhor, escreva seu próprio artigo e ensine a quem quer usar XML.

não estou te chamando de burro, mas estou dizendo que usar xml_parse, e todo o tipo de coisas para manusear mysql é muito mais complicado do que utilizar FLAT.

mas caso você queira, boa sorte, eu até aconselho. mas este artigo foi feito para quem não quer, ou não sabe usar xml, portanto, se você não se encaixa neste grupo, por favor poupe suas palavras.

Andreas
28/08/2003 5:05pm (~18 anos atrás)

Falou professor. Qual será a sua próxima aula?
28/08/2003 5:01pm (~18 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)