Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Angelb0y en 28 Julio 2011, 09:52 am



Título: Ayuda para mostrar el contenido de un txt en la web
Publicado por: Angelb0y en 28 Julio 2011, 09:52 am
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


Título: Re: AYUDA PARA MOSTRAR EL CONTENIDO DE UN TXT EN LA WEB
Publicado por: #!drvy en 28 Julio 2011, 14:04 pm
Código
  1. <?php
  2.  $ar=fopen("url de mi txt","r") or
  3.    die("No se pudo abrir el archivo");
  4.  while (!feof($ar))
  5.  {
  6.    $linea=fgets($ar);
  7.    $lineasalto=nl2br(htmlentities($linea));
  8.    echo $lineasalto;
  9.  }
  10.  fclose($ar);
  11. ?>

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 (http://foro.elhacker.net/php-b68.0/)

Saludos


Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: Angelb0y en 28 Julio 2011, 17:15 pm
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!







Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: Shell Root en 28 Julio 2011, 18:25 pm
Podrías ingresar todo el contenido en un vector y después recorrerlo desde la última posición hasta la inicial.


Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: #!drvy en 28 Julio 2011, 18:40 pm
Código
  1. <?php
  2.  $ar=fopen("url de mi txt","r") or
  3.    die("No se pudo abrir el archivo");
  4.  while (!feof($ar))
  5.  {
  6.    $linea=fgets($ar);
  7.    $lineasalto[] = nl2br($linea);
  8.  }
  9.  fclose($ar);
  10.  
  11. $lineasalto = implode(' ',(array_reverse($lineasalto)));
  12. echo $lineasalto;
  13. ?>

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


Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: Angelb0y en 28 Julio 2011, 19:06 pm
hola gracias por responder
el codigo funciona bien

PERO

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





Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: #!drvy en 28 Julio 2011, 19:12 pm
Oops, le quite el htmlentitles de la linea 7  :xD :xD

Cambia
Código
  1. $lineasalto[] = nl2br($linea);

Por
Código
  1. $lineasalto[] = nl2br(htmlentities($linea));


Saludos


Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: Angelb0y en 28 Julio 2011, 21:07 pm
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 !!







Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: RedZer en 28 Julio 2011, 22:54 pm
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.


Título: Re: Ayuda para mostrar el contenido de un txt en la web
Publicado por: #!drvy en 28 Julio 2011, 22:57 pm
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