Cap. 2 - PHP Intermediário
2.2 - Arquivos
Objetivo: Estudar Entrada e Saída com Arquivos.Conteúdo da Aula:
- 1. Introdução
- 2. Lista de Funções
- 3. Abrindo Arquivos Textos
- 4. Exemplos
- 5. Colocando PHP no HTML
- 6. Exercícios
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:- fopen() Abre um arquivo ou URL
- feof() Testa pelo fim-de-arquivo (eof) em um ponteiro de arquivo
- fgets() Ler uma linha de um ponteiro de arquivo e retira as tags HTML
- fwrite() Escreve em um arquivo
- fread() Lê de um arquivo
- fclose() Fecha um ponteiro de arquivo aberto
- file() Le um arquivo inteiro
- fgetc() Le um caractere
file_put_contents()
file_get_contents()
copy()
rename()
unlink()
file_exists()
is_file()
mkdir()
getcwd()
chdir()
rmdir()
opendir()
closedir()
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:
|
| 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