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 .