Ayuda para mostrar el contenido de un txt en la web

Iniciado por Angelb0y, 28 Julio 2011, 09:52 AM

0 Miembros y 2 Visitantes están viendo este tema.

Angelb0y

Hola a todos tengo un problemita sobre el tema
espero me ayuden

quisiera mostrar el contenido de un documento de texto (.txt) en mi web
e buscado en webs y me dieron un codigo php
el cual te permite mostrar el contenido
PERO
no me muestra las letras o los nombres que esan entre este signo <...>

por ejemplo:
en mi txt original me muestra esto:

00:03:05  [Post] <dankl>  hola hola
00:08:47  [Post] <borikuaxD>  aaaaaa
00:22:20  [Post] <borikuaxD>  sasasa

pero al ejecutar el codigo php en mi web

solamente me muestra esto:

00:03:05  [Post]   hola hola
00:08:47  [Post]   aaaaaa
00:22:20  [Post]   sasasa

ahora lo que yo quiero es que se muetre tal cual esta en el original, osea todo esto:

00:03:05  [Post] <dankl>  hola hola
00:08:47  [Post] <borikuaxD>  aaaaaa
00:22:20  [Post] <borikuaxD>  sasasa

con los nombres que estan dentro del signo <>

el codigo es el siguiente:


CODIGO:

<?php
  $ar=fopen("url de mi txt","r") or
    die("No se pudo abrir el archivo");
  while (!feof($ar))
  {
    $linea=fgets($ar);
    $lineasalto=nl2br($linea);
    echo $lineasalto;
  }
  fclose($ar);
  ?>




espero me ayuden porfavor

#!drvy

#1
Código (php,7) [Seleccionar]
<?php
  $ar
=fopen("url de mi txt","r") or
    die(
"No se pudo abrir el archivo");
  while (!
feof($ar))
  {
    
$linea=fgets($ar);
    
$lineasalto=nl2br(htmlentities($linea));
    echo 
$lineasalto;
  }
  
fclose($ar);
 
?>


En la linea 7 he añadido htmlentities. La razon por la que no mostraba los nombres, es que al estar entre los tags < y > el navegador lo considera codigo html. Htmlentities se encarga de mostrarlo como texto y ademas eso te añade algo de seguridad en caso de que intenten XSS.


PD: No hace falta poner el titulo en mayúsculas. Se lee igual de bien en minúsculas  ;)
PD2: Esto va en PHP

Saludos

Angelb0y

#2
muchisimas gracias por la ayuda

disculpa por lo de las mayusculas

aprovechando este post (para no abrir otro y no hacer spam)

con el codigo que me pasaste funciona perfecto gracias

ahora nose si sera posible hacer 1   cosa mas :

-ordernarlo

00:03:05 [Post] <dankl> holahola
00:08:47 [Post] <borikuaxD> hola
00:22:20 [Post] <borikuaxD> tttttt
00:48:41 [Post] <dankl> sasasa
01:06:38 [Post] <dankl> sasasasa
01:07:16 [Post] <Tachuela> ultimo

por ejemplo el ultimo post quisiera que no sea abajo sino arriba en la primera fila
lo correcto seria que la linea  01:07:16 [Post] <Tachuela> ultimo
este en primera file (arriba) ya que es la mas reciente

en pocas palabras quisiera cambiar el orden que arriba se actualize los post mas recientes y asi...


espero me ayuden desde ya muchas gracias!






Shell Root

Podrías ingresar todo el contenido en un vector y después recorrerlo desde la última posición hasta la inicial.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

#!drvy

#4
Código (php,7,11) [Seleccionar]
<?php
  $ar
=fopen("url de mi txt","r") or
    die(
"No se pudo abrir el archivo");
  while (!
feof($ar))
  {
    
$linea=fgets($ar);
    
$lineasalto[] = nl2br($linea);
  }
  
fclose($ar);
  
$lineasalto implode(' ',(array_reverse($lineasalto)));
echo 
$lineasalto;
 
?>


He modificado la linea 7 convirtiendo la variable $lineasalto en array. Asi todas las lineas se quedan en una array. Luego en la linea 11 le doy la vuelta a la array (osease, empiezo a leer desde el ultimo item hasta el primero) y la uno en un string.


Saludos

Angelb0y

hola gracias por responder
el codigo funciona bien

PERO

lo unico malo es que ya no se ve los nombres que estan dentro del <...>




#!drvy

Oops, le quite el htmlentitles de la linea 7  :xD :xD

Cambia
Código (php) [Seleccionar]
$lineasalto[] = nl2br($linea);

Por
Código (php) [Seleccionar]
$lineasalto[] = nl2br(htmlentities($linea));


Saludos

Angelb0y

muchisimas gracias !!!

funciono perfecto

solo faltaria una cosita

lo que pasa es que quiero cambiarle de color a la columna

por ejemplo

14:02:54 [Post] <WilSitO> hola hola hola
14:01:50 [Post] <WilSitO> hola hola holaaaaaaaa
14:01:37 [Post] <GameOver> sasasa
14:01:32 [Post] <WilSitO> probandooo


la columna donde va el tiempo o la hora


14:02:54
14:01:50
14:01:37
14:01:32

quisiera que tenga un color distinto a las demas columnas

igual con la siguiente columna

[Post]
[Post]
[Post]
[Post]

que tenga otro color

tmb la columna donde va los nombres:

<WilSitO>
<WilSitO>
<GameOver>
<WilSitO>

que tengan otro color


y por ultimo el comentario:


hola hola hola
hola hola holaaaaaaaa
sasasa
probandooo

que tengan otro color de texto

en resumen
quisiera que cada columna tenga un distinto color para diferenciarlo

muchas gracias !!






RedZer

amigo con todo respeto y no es por que no te quiera ayudar pero siento que solo quieres que te hagan el trabjo de echo drvy | BSM te ha echo todo por lo que veo deberias de investigar tu tema no es nada nuevo , busca en google hay un sin fin de informacion .
esta claro k apenas vas empesando pero pon de tu parte tambien investigando.
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo

#!drvy

Hola,

Sep, una cosa es te indique como hacer lo básico y otra cosa es que te lo de masticado todo.

Busca sobre explode en php. Seguro que te sirve.




Saludos