PHP
Aula 4 Arquivos Leonardo Pereira facebook.com/leongamertiI
NTRODUÇÃOO PHP permite a manipulação de arquivos de
texto.
Existem diversas funções usadas para abertura,
leitura, escrita e fechamento dos mesmos.
FOPEN
Abre um arquivo e retorna um identificador. É necessário o modo de abertura que será usado
para manipular o arquivo. <?php
$arq = fopen (“/home/livros/php.txt”, r); $arq = fopen (“/home/curriculo.txt”, w); $arq = fopen (“/home/lista.txt”, a); ?>
A variável que representa o retorno da função é
um identificador que é usado dentro do código PHP para fazer referencia ao arquivo.
FOPEN
Os modos de abertura são:
r: somente para leitura e coloca o cursor no inicio do
arquivo.
r+: igual ao r porém permite escrita.
w: somente para escrita, coloca o cursor no inicio do
arquivo e o apaga. Cria o arquivo se o mesmo não existir.
w+: igual ao w porem permite leitura.
a: somente para escrita, coloca o cursor no final do
arquivo. Cria o arquivo se o mesmo não existir.
a+: igual ao a porem permite leitura.
x: cria e abre o arquivo somente para escrita e coloca o
cursor no inicio do arquivo. Se o arquivo já existir, a chamada a fopen() falha. Se o arquivo não existir, tenta criá-lo.
FREAD
EFILESIZE
Fread lê uma certa quantidade de bytes do arquivo
passado como argumento.
Filesize retorna a quantidade em bytes de um arquivo.
O valor retornado é armazenado em cache para ganhar performance. Para limpar o valor é usada a função clearstatcache().
<?php
$arq = fopen ("times.txt", "r"); echo fread($arq, 9000); echo filesize(“times.txt”); ?>
FEOF
Testa se um identificador de arquivo, criado pela
função fopen(), está no fim de arquivo (End Of File).
Retorna TRUE se o cursor estiver no fim do
arquivo.
Caso contrário, retorna FALSE.
<?php
$arq = fopen (“/home/lista.txt”, “r”); echo feof($arq);
?>
FGETS
Lê uma linha de um arquivo.
Opcionalmente, podemos informar a quantidade de bytes a
serem lidos.
Do valor passado como quantidade, o PHP subtrai 1. Assim, se
passarmos o valor 4, ele na verdade lerá apenas 3 caracteres.
Vale ressaltar que o valor tem que ser maior que 1. Cada caractere vale 1 byte.
A quantidade padrão é 1KB ou 1024 bytes.
<?php
$arq = fopen (“/home/lista.txt”, “r”); while (!feof($arq)){ $linha = fgets($arq, 100); echo $linha; } ?>
FWRITE
Grava uma string no arquivo apontado pelo
identificador de arquivo.
Opcionalmente, podemos informar a quantidade
de bytes a serem gravados e a gravação irá parar ao atingir esta marca.
A função retorna a quantidade de bytes que
foram efetivamente gravados. <?php
$arq = fopen (“/home/lista.txt”, “w”); fwrite($arq, “notebook e impressora”);
FCLOSE
Fecha um arquivo que foi aberto por fopen().
<?php
$arq = fopen (“/home/lista.txt”, “w”); fclose($arq);
?>
FILE_EXISTS
Verifica a existência de um arquivo ou de um
diretório. <?php $arq = “/home/leon/file1.txt”; echo file_exists($arq); ?>
IS_FILE
Testa se o identificador aponta para um arquivo.
<?php
$arq = fopen (“/home/lista.txt”, “w”); echo is_file($arq);
?>
IS_DIR
Testa se o identificador aponta para um
diretório. <?php
$arq = fopen (“/home/provas”, “w”); echo is_dir($arq);
FILE
Lê um arquivo e retorna um array com todo o seu
conteúdo.
Cada posição do array representa uma linha lida
do arquivo. <?php
$arq = file (“/home/lista.txt”); echo $arq[0];
echo $arq[1]; echo $arq[2]; ?>
COPY
Cria uma cópia de um arquivo e salva em algum
local. <?php $origem = “/home/leon/file1.txt”; $destino = “/home/curso/file1.txt”; copy($origem, $destino); ?>
RENAME
Renomeia um arquivo. <?php $origem = “antigo.txt”; $destino = “novo.txt”; rename($origem, $destino);UNLINK
Apaga um arquivo passado como parâmetro.
<?php
$arq = “/home/leon/file1.txt”; unlink ($arq);
MKDIR
Cria um novo diretório.
Caso o sistema operacional seja Linux, posso
também definir as permissões que o arquivo vai ter. <?php $dir = “/home/provas”; mkdir($dir, 777); ?>
RMDIR
Apaga um diretório. <?php $dir = “/home/provas”; rmdir($dir); ?>OPENDIR
Abre um diretório e retorna um identificador.
<?php
$caminho = “/home/provas”; $dir = opendir($caminho); ?>
CLOSEDIR
Libera um recurso alocado pela função opendir(). Equivale a fechar a pasta.
<?php
$caminho = “/home/provas”; $dir = opendir($caminho); closedir($dir);
READDIR
Realiza a leitura do conteúdo de um diretório através do identificador criado por opendir(). <?php
$caminho = “/home/provas”; $dir = opendir($caminho);
while( $arquivo = readdir($dir)){ echo $arquivo.”</br>”; } closedir($dir); ?>
S
CRIPTS DAA
ULAE
XEMPLO1
<?php$arq = fopen ("times.txt", "r"); // erro se o arquivo não existir echo fread($arq, 9000); echo filesize("times.txt"); // r - leitura.
// w - escrita colocando o cursor no inicio do arquivo. // a - escrita colocando o cursor no final do arquivo. // x – cria arquivos
// r+ e x+ :: permite escrita // w+ e a+ :: permite leitura
E
XEMPLO2
<?php
$arq = fopen ("times.txt", "r"); while (!feof($arq)){ $linha = fgets($arq, 2); echo $linha; echo "</br>"; } fclose($arq); // r - leitura.
// w - escrita colocando o cursor no inicio do arquivo. // a - escrita colocando o cursor no final do arquivo.
// x - só funciona quando o arquivo nao existe. sua função é criar o arquivo. // r+ e x+ :: permite escrita
// w+ e a+ :: permite leitura
// podemos definir a quantidade de caracteres a serem copiados :: n - 1 onde n > 2 // quantidade padrao é 1 KB, ou seja, 1024 bytes
E
XEMPLO3
<?php
$arq = fopen ("times.txt", "a"); fwrite($arq, “Palmeiras"); // w :: apaga o conteudo anterior
// a :: coloca o novo conteudo no final do conteudo anterior
// a função retorna a quantidade de caracteres que formam lidos
// \n -> pula linha somente no Linux // \r\n -> pula linha no Windows
?>
E
XEMPLO4
<?php echo file_exists("times.txt"); ?>E
XEMPLO5
<?php echo is_file("times.txt"); ?>E
XEMPLO6
<?php echo is_dir("times.txt"); mkdir("estados"); echo "<br>"; echo is_dir("estados"); ?>E
XEMPLO7
<?php
$arq = file ("pessoas.txt"); echo $arq[0]; echo $arq[1]; echo $arq[2]; echo $arq[3]; echo $arq[4]; ?>