PHP - Arquivos e E / S
Este capítulo irá explicar as seguintes funções relacionadas aos arquivos -
- Abrindo um arquivo
- Lendo um arquivo
- Gravando um arquivo
- Fechando um arquivo
Abrindo e fechando arquivos
O PHP fopen()função é usada para abrir um arquivo. Requer dois argumentos, indicando primeiro o nome do arquivo e depois o modo de operação.
Os modos de arquivo podem ser especificados como uma das seis opções nesta tabela.
Sr. Não | Modo e finalidade |
---|---|
1 | r Abre o arquivo apenas para leitura. Coloca o ponteiro do arquivo no início do arquivo. |
2 | r+ Abre o arquivo para leitura e gravação. Coloca o ponteiro do arquivo no início do arquivo. |
3 | w Abre o arquivo apenas para gravação. Coloca o ponteiro do arquivo no início do arquivo. e trunca o arquivo para comprimento zero. Se os arquivos não existe, então ele tenta criar um arquivo. |
4 | w+ Abre o arquivo apenas para leitura e gravação. Coloca o ponteiro do arquivo no início do arquivo. e trunca o arquivo para comprimento zero. Se os arquivos não existe, então ele tenta criar um arquivo. |
5 | a Abre o arquivo apenas para gravação. Coloca o ponteiro do arquivo no final do arquivo. Se os arquivos não existirem, ele tentará criar um arquivo. |
6 | a+ Abre o arquivo apenas para leitura e gravação. Coloca o ponteiro do arquivo no final do arquivo. Se os arquivos não existirem, ele tentará criar um arquivo. |
Se uma tentativa de abrir um arquivo falhar, então fopen retorna um valor de false caso contrário, retorna um file pointer que é usado para leitura adicional ou gravação nesse arquivo.
Depois de fazer alterações no arquivo aberto, é importante fechá-lo com o fclose()função. ofclose() função requer um ponteiro de arquivo como seu argumento e então retorna true quando o fechamento for bem-sucedido ou false se falhar.
Lendo um arquivo
Depois que um arquivo é aberto usando fopen() pode ser lido com uma função chamada fread(). Esta função requer dois argumentos. Devem ser o ponteiro do arquivo e o comprimento do arquivo expresso em bytes.
O comprimento dos arquivos pode ser encontrado usando o filesize() função que recebe o nome do arquivo como seu argumento e retorna o tamanho do arquivo expresso em bytes.
Então, aqui estão as etapas necessárias para ler um arquivo com PHP.
Abra um arquivo usando fopen() função.
Obtenha o comprimento do arquivo usando filesize() função.
Leia o conteúdo do arquivo usando fread() função.
Feche o arquivo com fclose() função.
O exemplo a seguir atribui o conteúdo de um arquivo de texto a uma variável e exibe esse conteúdo na página da web.
<html>
<head>
<title>Reading a file using PHP</title>
</head>
<body>
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "r" );
if( $file == false ) {
echo ( "Error in opening file" );
exit();
}
$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );
echo ( "File size : $filesize bytes" );
echo ( "<pre>$filetext</pre>" );
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Gravando um arquivo
Um novo arquivo pode ser escrito ou um texto pode ser anexado a um arquivo existente usando o PHP fwrite()função. Esta função requer dois argumentos especificando umfile pointere a sequência de dados que deve ser gravada. Opcionalmente, um terceiro argumento inteiro pode ser incluído para especificar o comprimento dos dados a serem gravados. Se o terceiro argumento for incluído, a gravação será interrompida depois que o comprimento especificado for atingido.
O exemplo a seguir cria um novo arquivo de texto e, em seguida, grava um título de texto curto dentro dele. Após fechar este arquivo, sua existência é confirmada usandofile_exist() função que leva o nome do arquivo como um argumento
<?php
$filename = "/home/user/guest/newfile.txt";
$file = fopen( $filename, "w" );
if( $file == false ) {
echo ( "Error in opening new file" );
exit();
}
fwrite( $file, "This is a simple test\n" );
fclose( $file );
?>
<html>
<head>
<title>Writing a file using PHP</title>
</head>
<body>
<?php
$filename = "newfile.txt";
$file = fopen( $filename, "r" );
if( $file == false ) {
echo ( "Error in opening file" );
exit();
}
$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );
echo ( "File size : $filesize bytes" );
echo ( "$filetext" );
echo("file name: $filename");
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Cobrimos todas as funções relacionadas à entrada e saída de arquivos no capítulo Função do sistema de arquivos PHP .