1-PHP Introdução
Exercícios
Curso Banco Dados
IntroducaoBD.php

Cap. 2 - PHP Intermediário

2.2 - Arquivos

Objetivo: Estudar Entrada e Saída com Arquivos.

Conteúdo da Aula:


1. Introdução

Com PHP é possível acessar arquivos para leitura ou escrita e também acessar diretórios. Existem funções específicas para isso. Nessa aula veremos algumas delas.

2. Lista de Funções

As funções mais usadas para manipulação de arquivos e diretórios são:
  1. fopen() Abre um arquivo ou URL
  2. feof() Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
  3. fgets() Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  4. fwrite()  Escreve em um arquivo
  5. fread()  Lê de um arquivo
  6. fclose() Fecha um ponteiro de arquivo aberto
  7. file() Le um arquivo inteiro
  8. fgetc() Le um caractere
Outras funções podem ser acessadas no site php.net
  1. file_put_contents()

  2. file_get_contents()

  3. copy()

  4. rename()

  5. unlink()

  6. file_exists()

  7. is_file()

  8. mkdir()

  9. getcwd()

  10. chdir()

  11. rmdir()

  12. opendir()

  13. closedir()

  14. readdir()

Links

Veja a lista completa das funções nos sites:

3. Algumas Funções

fopen()

A função fopen() abre um arquivo para leitura ou escrita.

uso: fopen(nome,modo,set_path,contexto)

Veja a tabela abaixo com as especificações da função.

Parâmetros Descrição
nome do arquivo Parâmetro exigido: especifica o nome do arquivo ou da página que se deseja abrir.
modo Especifica o modo de abertura do arquivo: leitura, escrita ou anexar (append).

Valores possíveise values:

  • "r" Apenas leitura (Read only). Inicia a leitura no início do arquivo.
  • "r+" Abre para leitura ou escrita. Inicia no início do arquivo.
  • "w" Apenas escrita (Write only). Abre e limpa o conteúdo do arquivo ou cria um arquivo novo.
  • "w+" Leitura ou Escrita. Abre e limpa o conteúdo do arquivo ou cria um arquivo novo.
  • "a" Apenas para leitura (Write only). Abre e escreve no final do arquivo ou cria um arquivo caso não exista.
  • "a+" Leitura e Escrita
  • "x" Escrita apenas. Cria um novo arquivo. Retorna FALSE caso se o arquivo já existir.
  • "x+" Escrita e Leitura. Cria um novo arquivo. Retorna FALSE caso se o arquivo já existir.
set_path Opcional. Deve-se "setar" esse parâmetro em 1 se se deseja procurar pelo arquivo no caminho (path) especificado (in php.ini)
contexto Opcional. Specifies the context of the file handle. Context is a set of options that can modify the behavior of a stream

fclose()

Fecha o arquivo especificado pelo ponteiro. Veja o exemplo:


<?php

  $handle 
fopen('qualquerarquivo.txt''r');

  
fclose($handle);

?>

file()

Lê um arquivo inteiro



<?php
// Lê um arquivo em um array.  Nesse exemplo nós obteremos o código fonte de
// uma URL via HTTP
$lines file ('http://www.example.com/');

// Percorre o array, mostrando o fonte HTML com numeração de linhas.
foreach ($lines as $line_num => $line) {
    echo 
"Linha #<b>{$line_num}</b> : " htmlspecialchars($line) . "<br>\n";
}

// Outro exemplo, onde obtemos a página web inteira como uma string.  // Veja também file_get_contents().
$html implode (''file ('http://www.example.com/'));

// Usando o parâmetro de flags opcionais disponíveis desde o PHP 5
$trimmed file('somefile.txt'FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
?>

4. Exemplos

Veja alguns exemplos extraídos de [1].

Exemplo 1




<?php
$fp = fopen("/home/fantini/teste123.txt",'r');
echo $fp;
echo "<br>";
var_dump($fp);
//le arquivo
$x=fgets($fp,2);
echo $x;
echo "<br>";
?>

Exemplo 2




<?php
$fd = fopen("/etc/fstab","r");
while (!feof($fd))
{
$buffer = fgets($fd,4096);
echo $buffer;
echo "
"; } fclose($fd); ?>

Exemplo 3




<?php
$fp= fopen("/home/fantini/teste123.txt","w");
fwrite($fp,"linha 1\n");
fwrite($fp,"linha 2\n");
fwrite($fp,"linha 3\n");

fclose($fp);
?>

Exemplo 4




<?php
$dados_arquivo= file("/home/fantini/teste123.txt");
echo $dados_arquivo[0];
echo "<br>";
?>

Exemplo 5




<?php
$diretorio='/';
if(is_dir($diretorio))
{
$ident = opendir($diretorio);
while($arquivo=readdir($ident))
{
echo $arquivo. "<br>";
}
closedir($ident);
}


?>

5. Colocando PHP no HTML

Veja alguns exemplos. Atente para as diferentes formas de se alternar entre PHP e HTML

Exemplo 1






<?php $x=1;?>

<html>

<?php $y=2;$w=4;?>

<h1><?php echo "x = ".$x?></h1>
<?php $z=3;?>

<h2><?php echo "y= ".$y?></h2>

<h3><?php echo "z= ".$z?></h3>

<?php echo "<h4> w = ".$w."</h4>";?>

</html>




Exemplo 2


<html>

<table border="1">
<?php
for($i=0;$i<3;$i++){?>

<tr>

<?php 
for($j=0;$j<3;$j++){?>
<td><?php echo "(".$i.",".$j.")";?></td>
<?php } ?>
</tr>
<?php } ?>

</table>



</html>



Exemplo 3


 <?php
 $final=9;
     $x=0;
     echo " <table border='1'>";
while($x <$final){
	if($x%2==0) {
         echo ' <tr bgcolor="#FFFFCC">';
      } //if
      else {
         echo ' <tr bgcolor="#FFFF99">';
      } //else
      for($y=0;$y <$final;$y++){
      
      echo ' <td> <strong> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">('.($x+1).','.($y+1).') </font> </strong> </td>';
      }
         echo ' </tr>';
         $x++;
         } //fecha while
         echo " </table>";
         ?>

6. Exercícios de Revisão

Exercício 1: Exemplos

Execute os exemplos contidos nessa aula. Repare as formas de compartilhar códigos PHP dentro do HTML.

Exercício 2: Leitura de Arquivo

Faça um programa em PHP para ler um arquivo texto composto por linhas que contem nomes, idade e altura de 10 pessoas. Leia os dados e mostre-os na tela.

Exercício 3: Escrita em Arquivo

Faça um programa em PHP para gerar 20 números aleatórios e salvá-los em um arquivo.

Exercício 4: Leitura de Arquivo

Faça um programa em PHP para ler o arquivo do exercício anterior e ordenar os números lidos em um vetor.Mostre o vetor.
Por hoje é só...

Referências

[1] PHP - Programando com Orientação a Objeto - Pablo Dall'Oglio



(voltar para o topo)
Voltar para o Moodle (link ainda está errado...)

Por hoje é só...

Por hoje é só...
Voltar para o Moodle (link ainda está errado...)
voltar ao topo

Referências

voltar ao início da página