39 manipulao-de-arquivos-e-diretrios-no-php - CodeHamper

Manipulação de arquivos e diretórios no PHP

Utilizando o PHP para manipular arquivos




A seguir veremos uma série de funções utilizadas  exclusivamente para manipulação de arquivos, como abertura, leitura, escrita e fechamento dos mesmo.

fopen : Abre um arquivo e retorna um identificador. Se o nome do arquivo está na forma 'protocolo://...', o PHP irá procurar por um manipulador de protocolo, também conhecido como wrapper, conforme o prefixo.

int fopen (string arquivo, string modo [,int usar_path [, resouce contexto]])

Parâmetros  |  Descrição
arquivo    | string identificando o nome do arquivo a ser aberto.
modo       | Forma de abertura do arquivo (r=read, w = write, a=append).
usar_path | se 1 ou TRUE, vasculha a path pelo arquivo a ser aberto.
contexto   | Opções de contexto; variam de acordo com o protocolo do arquivo.

Exemplo:

<?php
  $fp = fopen (''/home/file.txt'', ''r'');
  $fp = fopen (''/home/file.gif'', ''wb'');
  $fp  = fopen (''http://www.exemple.com/'', ''r'');
  $fp = fopen (''ftp://user:password@exemple.com'', ''w'');
?>

feof : Testa se um determinado identificador de arquivo (criado pela função fopen()) está no fim de arquivo (End Of File). Retorna TRUE se o ponteiro estiver no fim do arquivo (EOF); do contrário, retorna FALSE.

int feof (int identificador)

Parâmetros | Descrição
identificador | Parâmetro retornado pela fopen().

fgets: Lê uma linha de um arquivo. Retorna uma string com até (tamanho -1) bytes lidos do arquivo apontado pelo identificador de arquivo. Se nenhum for informado, o default é 1Kb ou 1024 bytes. Se um erro ocorrer, retorna FALSE.

string fgets (int identificador [, int tamanho])

Parâmetros  |  Descrição
identificador | Parâmetro retorna pela fopen().
Tamanho     |  Quantidade em bytes e retornar a leitura.

Exemplo:

<?php
$fd = fopen (''/etc/fstab'', ''r'');
while(!feof($fd)){
    //le uma linha do arquivo
    $buffer = fgets($fd, 4096);
    //imprime a linha.
    echo $buffer;
}
fclose($fd):
?>

fwrite : Grava uma string no arquivo apontado pelo identificador de arquivo. Se o argumento comprimento é dado, a gravação irá parar depois que comprimento bytes for escrito ou a fim da string conteúdo for alcançado, o que ocorrer primeiro. Retorna o número de bytes gravados, ou FALSE em caso de erro.

int fwrite (int identificador, string conteudo [, int comprimento])

Parâmetros    |  Descrição
identificador   | Parâmetro retornado pela fopen().
Conteúdo       | String a escrever no arquivo.
Comprimento | Comprimento da string.

Exemplo:

<?php
//abre o arquivos
$fp = fopen (''/home/file.txt'', ''w'');
escreve no arquivos
fwrite ($fp, ''linha 1\n'');
fwrite ($fp, ''linha 2\n'');
fwrite ($fp, ''linha 3\n'');

//fecha o arquivo
fclose($fp);
?>

fclose:  Fecha o arquivo aberto apontando pelo identificador de arquivo. Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
file_put_contents : Grava uma string em um arquivo. Retorna a quantidade de bytes gravados.

int file_put_contents( string nome_arquivo, midex conteudo)

Parâmetros     | Descrição
nome_arquivo | Arquivo a ser aberto.
Conteúdo        | Novo conteúdo.

Exemplo:

<?php
  echo file_put_contents('/tmp/teste.txt', ''este \n é o conteudo \n do arquivo '');
?>

file_get_contents : Lê o conteúdo de um arquivo e retorna o conteúdo em forma de string.

string file_get_contents (string nome_arquivo, …)

Exemplo:

<?php
echo file_get_contents('/etc/mtab');
?>

file : Lê um arquivo e retorna um array com todo o seu conteúdo, de modo que cada posição do array representa uma linha lida do arquivo. O nome do arquivo pode conter o protocolo, como no caso http://www.servidor.com/pagina.html . Assim, o arquivo remoto será lido para dentro do array.

Array file (string nome_arquivo, [int usar_include])

Parâmetros     | Descrição
nome_arquivo | Arquivo a ser lido
usar_include   | Se '1', procura também, nos diretórios da constante PHP_INCLUDE_PATH.

Exemplo:

<?php
//lê o arquivo para o array $arquivo
$arquivo = file (''/home/file.txt'');
//exibe o conteudo
echo $arquivo[0];
echo $arquivo[1];
echo $arquivo[2];
?>

Copy : copia um arquivo para outro local/nome. Retorna TRUE caso tenha sucedido e FALSE em caso de falhas.

bool copy (string arquivo_origem, string arquivo_destino)

Parâmetros       | Descrição
arquivo_origem | Arquivo a ser copiado.
arquivo_destino | Arquivo destino.

Exemplo:

<?php
$origem = ''/home/file.txt'';
$destino = '/home/file2.txt';
if(copy ($origem, $destino)){
   echo 'copia efetuada';
}else{
  echo 'copia não efetuada';
}
?>

Rename : Altera a nomenclatura de um arquivo ou diretório.

Exemplo:

<?php 
$origem = '/home/file2.txt';
$destino = '/tmp/file3.txt';
if(rename($origem, $destino)){
   echo 'renomeação efetuada';
}
else{
   echo 'Renomeação não efetuada';
}
?>

unlink : Apaga um arquivo passado como parâmetro. Retorna TRUE em caso de sucesso e FALSE em caso de falhas.

<?php
$arquivo = '/tmp/file3.txt';
if(unlink($arquivo)){
  echo 'arquivo apagado';
}
else{
  echo 'arquivo não apagado':
}
?>

file_exists : verifica a existência de um arquivo  ou de um diretório.

Exemplo:

<?php
$arquivo = '/home/file2.txt';
if(file_exists($arquivo)){
  echo 'arquivo existente';
}
else{
  echo ' arquivo não existente';
}
?>

is_file : Verifica se a localização dada corresponde ou não a um arquivo.

Exemplo:

<?php
$arquivo = '/home/file.txt';
if(is_file($arquivo)){
  echo ''$arquivo é um arquivo '';
}
else{
  echo ''$arquivo não é um arquivo'';
}
?>

mkdir : cria um diretório.

Exemplo:

<?php
$dir = '/tmp/diretorio';
// arquivo, permissão de acesso
if(mkdir($dir, 0777)){
   echo ''$dir criando com sucesso'';
}
else{
  echo ''$dir não criado'';
}
?>

getcwd : Retorna o diretório corrente

Exemplo:

<?php
 echo 'o diretório atual é ' . getcwd();
?>

chdir : altera o diretório corrent. Retorna TRUE em caso de sucesso e FALSE em caso de falhas.

<?php
echo 'o diretório atual é ' . getcwd();
chdir('/home/');
echo 'o diretório atual é ' . getcwd();
?>

Resultado:
o diretório atual é /tmp
o diretório atual é /home

rmdir : apaga um diretório.

<?php
$dir = '/tmp/diretorio';
if(rmdir($dir)){
  echo ''$dir apagado com sucesso'';
}
else{
  echo ''$dir não apagado'';
}
?>

opendir : Abre um diretório e retorna um identificador.

closedir : Libera um recurso alocado pela função opnedir();

readdir : Realiza a leitura do conteúdo de um diretório por meio do identificador criado pela função opendir().

Exemplo:

<?php
//exibe as entradas do diretório raiz
$diretorio = '/ ';
//verifica se é diretório
if(is_dir($diretorio)){
  $ident = opendir($diretorio);
   // laco de repetição para leitura
   while ($arquivo = readdir($ident )){
       echo $arquivo . ''\n'';
    }
    closedir($ident);
}
?>

CodeHamper © 2017 - Todos os direitos reservados