Manipulando arquivos


1 - Criando arquivos:

 
$ponteiro = fopen ($nomedoarquivo, $mododeabertura); // cria/abre o arquivo
Modos de abertura de arquivo:

w - escrita; ponteiro no começo do arquivo. Se o arquivo não existe, tenta criá-lo.

w+ - leitura e escrita; ponteiro no começo do arquivo. Se o arquivo não existe, tenta criá-lo.

r - leitura; ponteiro no começo do arquivo. Retorna erro caso o arquivo não exista e NÃO tenta cria-lo.

r+ - leitura e escrita; ponteiro no começo do arquivo. Retorna erro caso o arquivo não exista e NÃO tenta cria-lo.

a - escrita; ponteiro no final do arquivo (apend). Se o arquivo não existir, tenta criá-lo.

a+ - leitura e escrita; ponteiro no final do arquivo. Se o arquivo não existir, tenta criá-lo.

x - Cria e abre o arquivo para escrita; ponteiro no início do arquivo. Se o arquivo já existe, fopen() irá falhar, caso contrário tenta criá-lo.

x+ - Cria e abre um arquivo para escrita e leitura; ponteiro no início do arquivo. Se o arquivo já existe, fopen() irá falhar, caso contrário tenta criá-lo.


2 - Lendo o conteúdo do arquivo:

 
fgets($ponteiro); // le uma linha inteira do arquivo

fgets($ponteiro, $numerodebytes); // le o numero de bytes especificado da linha
3 - Escrevendo no arquivo:

 
fwrite($ponteiro, $string, $tamanho); // o tamanho é opcional
4 - Fechando o arquivo:

 
fclose($ponteiro); 
Exemplo:

 
// abrimos o arquivo para ler seu conteudo
$arquivo = fopen('meuarquivo.txt','r');
if (!$arquivo)
	die('Nao foi possivel abrir o arquivo.');
	
// imprimimos linha por linha ate detectar o final
while(!feof($arquivo)) {
	echo fgets($arquivo);
}

// fechamos o ponteiro para o arquivo
fclose($arquivo);
Funções para manipulação de arquivos



Para facilitar a leitura de um arquivo/diretório, independente do Sistema Operacional, podemos utilizar a constante DIRECTORY_SEPARATOR que vai retornar o separador de diretórios de acordo com o Sistema Operacional.

No Windows, o separador será '\' e no Linux '/' ( / também funciona no windows).




Comentários

Copyright © 2018 Anderson Bravo
www.andersonbravo.com.br
anderson@andersonbravo.com.br