Last active
July 19, 2016 13:00
-
-
Save joffilyfe/953de0ab35cd97be81bee8418481b48a to your computer and use it in GitHub Desktop.
**Este exemplo mostra como ler o conteúdo de um arquivo e exbir em uma página Web**
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Este exemplo mostra como ler o conteúdo de um arquivo e exbir em uma página Web | |
* Este exemplo utiliza os conteitos de manusear arquivos e passagem de parâmetros por URL | |
*/ | |
/* | |
* Funções PHP | |
* scandir(string) - Faz uma varredura no diretório indicado e retorna uma | |
* Array com os nomes dos arquivos encontrados. | |
* fopen(nome, modo_de_abertura) - retorna uma chamada (ponteiro) para um | |
* handle de arquivos podemos utilizar o handle para ler ou escrever | |
* em um arquivo. | |
* fread(nome, tamanho_em_bytes) - Faz uma leitura em um arquivo e retorna | |
* uma String com todo o conteúdo do arquivo concatenado. | |
* file_get_contents(nome) - mesma coisa que o fread. | |
* strpos($string, $string_a_localizar) - Faz uma verificação em uma string | |
* bem busca de uma chave passada. Retorna a posição onde foi encontrada | |
* ou FALSE | |
*/ | |
// Variáveis utilizadas | |
$DIRETORIO = '.'; | |
$EXTENSAO = '.txt'; | |
// Scaneia os arquivos do diretório passado. | |
// Retorna um array com o nome dos arquivos | |
$arquivos = scandir($DIRETORIO); | |
// Veirifica se o parâmetro abrir= foi passado na URL | |
if (isset($_GET['abrir'])) { | |
// Guardamos o nome (string) do arquivo em uma variável | |
$nome_do_arquivo = $_GET['abrir']; | |
$arquivo = fopen($nome_do_arquivo, 'r'); | |
if (isset($arquivo) && $arquivo) { | |
/* | |
* Temos ao menos duas formas faceis para ler o conteúdo de um arquivo | |
* fread e file_get_contents retorna todo o conteúdo de um arquivo | |
* concatenado em uma única STRING | |
*/ | |
// $conteudo = fread($arquivo, filesize($nome_do_arquivo)); | |
$conteudo = file_get_contents($nome_do_arquivo); | |
fclose($arquivo); | |
} | |
} | |
?> | |
<html> | |
<head> | |
<style> | |
body { font-family: sans-serif;} | |
a { color: blue; } | |
textarea { width: 100%; height: 200px; padding: 10px;} | |
</style> | |
</head> | |
<body> | |
<h2>Arquivos do diretório: <?php echo dirname(__FILE__); ?></h2> | |
<ul> | |
<!-- para cada nome de arquivo no array --> | |
<?php foreach($arquivos as $arquivo): ?> | |
<!-- Verifique se a extensão .txt existe na string do nome --> | |
<?php if (strpos($arquivo, $EXTENSAO)): ?> | |
<li> | |
<!-- mostre um link com o nome do arquivo e o método GET ?abrir= --> | |
<a href="?abrir=<?php echo $arquivo; ?>"><?php echo $arquivo; ?></a> | |
</li> | |
<?php endif; ?> | |
<?php endforeach; ?> | |
</ul> | |
<!-- Criamos uma textarea para mostrar o conteúdo do arquivo selecionado --> | |
<?php if (isset($conteudo)): ?> | |
<h2>Conteúdo do arquivo: <?php echo $nome_do_arquivo; ?></h2> | |
<textarea> | |
<?php echo $conteudo; ?> | |
</textarea> | |
<?php endif; ?> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment