Jump to content


Photo

Exibir Conteúdo De Arquivo Txt


  • Faça o login para participar
7 replies to this topic

#1 kaisumeninu

kaisumeninu

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado
  • Interesses:html, css, php

Posted 27/09/2009, 22:46

Caros,

Gostaria de saber como posso exibir o texto contido em um arquivo txt no corpo de um site em html.

EXPLICANDO:
Tenho um arquivo texto hospedado no meu site e quero exibí-lo em diferentes partes do site. Por isso quero saber se posso fazer o html ler esse arquivo e exibir seu conteúdo nos locais em que eu determinar.

Tentei usar php para fazer isso, mas ode deveria aparecer o conteúdo do arquivo não é mostrado nada.
O código que eu usei é esse aí ambaixo (o arquivo cujo conteúdo quero exibir é o textoteste.txt

<?php

$texto_arquivo = file('textoteste.txt');
echo $texto_arquivo['0'];

?>



#2 Renato Maia

Renato Maia

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:Ribeirão Preto
  • Interesses:Desenvolvimento e tecnologia.

Posted 28/09/2009, 00:01

Boa noite kaisumeninu.

Para ler um arquivo você devera usar alguma linguagem deprogramação, o html não é capas de ler.

Ler um arquivo texto e exibir seu conteúdo é bem simples. No exemplo abaixo estamos abrindo o arquivo chamado arquivo.txt. Depois estamos lendo 20 bytes do arquivo e armazenando em $texto. Fechamos o arquivo com o fclose e imprimimos seu conteúdo com o echo.
<?php
$fp = fopen("./arquivo.txt", "r");
$texto = fread($fp, 20); // lê 20 bytes do arquivo e armazena em $texto
fclose($fp);
echo $texto;
?>
Para ler todo conteúdo de um arquivo utilize o fgetc

<?php
$fp = fopen("./dados.txt", "r");
while (!feof($fp)){
	$char .= fgetc($fp);
}
fclose($fp);
echo $char."<br><br>";
?>Para colocar o conteúdo do arquivo em um array utilize:

$fd = fopen ("texto.txt", "r");
while (!feof ($fd))
{
$buffer = fgets($fd, 4096);
$lines[] = $buffer;
}
fclose ($fd);

Obs:
Esse 4096 seria o tamanho da string que eu quero obter. Esse valor está em bytes e corresponde a 4 Kb.
O valor default é 1024 bytes.

Atenciosamente,
Renato Maia.
Renato Maia
Microsoft Certified Prrofessional | MCP .NET
RenatoMaia.Net.br tudo sobre desenvolvimento .Net e Tecnologias.

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/09/2009, 08:05

Você pode usar também file_get_contents(). A leitura fica mais simples.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 kaisumeninu

kaisumeninu

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado
  • Interesses:html, css, php

Posted 28/09/2009, 09:08

Rodrigo Maia e Eclisiastes

Muito obrigado pela disposição em ajudar.
Infelizmente tentei todos os códigos do Rodrigo e também o file_get_contens mas nada funcionou. Não sei o que estou fazendo de errado.
Se puderem dar uma olhada no código fonte de me indicar o erro eu agradeceria muito. Os links para a página e para o arquivo externo estão aí embaixo.

[link]
http://eschwarcz.sit...index-novo3.php
[/link]

[link]
http://eschwarcz.sit.../textoteste.txt
[/link]

#5 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 28/09/2009, 18:27

O problema é o seguinte...
(quse certeza que) seu servidor não dá suporte ao php.

"Como vc pode ter certeza?"

pq se vc entrar no site, der botão direito e exibir o codigo fonte, vc pode ver isso:
<h2><a name="carnaval">Carnaval</a></h2>
			<br />

<?php
$fp = fopen("textoteste.txt", "r");
while (!feof($fp)){
	$char .= fgetc($fp);
}
fclose($fp);
echo $char."<br><br>"; 
?>

você precisa de um servidor que suporte php para fazê-lo rodar.
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#6 kaisumeninu

kaisumeninu

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado
  • Interesses:html, css, php

Posted 28/09/2009, 21:35

Valeu ddidan,
Era isso mesmo. Agora hospedei no Uol Host e funcionou. Agradeço à todos que ajudaram.

Só tenho mais um problema. Usei esse código com sucesso para exibir o conteúdo do arquivo "aulas-de-piano-WEB.txt", mas usando o mesmo código para exibir o conteúdo de "rato-WEB.txt" , o conteúdo deste último está aparecendo duas vezes. O que fiz de errado?


[link]
http://reverdejar.do...chorabananeira/
[/link]

<table id="table1">
<tbody>
<tr>
<td>
<?php
$fp = fopen("contos/rato-WEB.txt", "r");
while (!feof($fp)){
$char .= fgetc($fp);
}
fclose($fp);
echo $char."<br><br>";
?>

<br />
</td>
</tr>
<tr>
<td>
<?php
$fp = fopen("contos/aulas-de-piano-WEB.txt", "r");
while (!feof($fp)){
$char .= fgetc($fp);
}
fclose($fp);
echo $char."<br><br>";
?>
<br />
</td>
</tr>
...


Edição feita por: kaisumeninu, 28/09/2009, 21:39.


#7 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 29/09/2009, 10:22

Brother, isso acontece porque você está alimentando uma mesma variável nos dois casos. Variáveis estas que não foram inicializadas inclusive, o que é errado. A minha sugestão é que você descomplique, trocando isso:

$fp = fopen("contos/rato-WEB.txt", "r");
while (!feof($fp)){
$char .= fgetc($fp);
}
fclose($fp);
echo $char."<br><br>";
Por isso:

print file_get_contents('contos/rato-WEB.txt') . '<br /><br />';
Mesma coisa para o outro arquivo.

[]’sAté mais

#8 kaisumeninu

kaisumeninu

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado
  • Interesses:html, css, php

Posted 29/09/2009, 23:12

Funcionou!

Muito obrigado Paulo Ricardo.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq