Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (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 (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 (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
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 (php) [Seleccionar]
$lineasalto[] = nl2br($linea);

Por
Código (php) [Seleccionar]
$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