Foros del Web » Programando para Internet » PHP »

Procesar txt con PHP

Estas en el tema de Procesar txt con PHP en el foro de PHP en Foros del Web. Holaa! Mi problema es que quería procesar un txt que tiene la siguiente forma: Código: Dato0 Dato1 Dato2 Dato3 Dato4 Dato5 Dato0* Dato1* Dato2* Dato3* ...
  #1 (permalink)  
Antiguo 25/11/2010, 11:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Pregunta Procesar txt con PHP

Holaa!
Mi problema es que quería procesar un txt que tiene la siguiente forma:
Código:
Dato0
Dato1
Dato2
Dato3
Dato4
Dato5
Dato0*
Dato1*
Dato2*
Dato3*
Dato4*
Dato5*
...
Tiene 5 datos distribuiidos uno en cada fila y se repite asi sucesivamente.
Yo quería procesarles y asignar a cada dato una variable (Ej: $email = Dato0)
Para luego mostralos en una tabla.
Había encontrado esto pero no me funciona
Código PHP:
<HTML>
<BODY>
<?
$lines 
file('archivo.txt');
foreach (
$lines as $line_num => $line) {
$datos explode(","$line);
?>
<table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">

<tr bgcolor="#FFFFFF">

<td width="40%">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato0:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<?= $datos[0?></font><br>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato1:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<?= $datos[1?></font><br>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato2:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<?= $datos[2?></font><br>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato3:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<?= $datos[3?></font><br>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato4:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<?= $datos[4?></font>
</td>
</tr>

</table>

<?      
//fin
?>

</BODY> 
</HTML>
Alguien me puede decir como lo podría hacer?? soy principiante...
MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 25/11/2010, 12:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Procesar txt con PHP

pero... ¿por qué dices no funciona? ¿arroja algún error? ¿sale algo que no debería? ¿no sale nada? ¿hay que adivinar?

otra cosa... ¿puedes colocar el formato real de tu archivo de texto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/11/2010, 03:16
Avatar de tersipodes  
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Procesar txt con PHP

Hola,

Si tienes la posibilidad de utilizar bases de datos, lo agradecerás. Te quitaras muchos problemas de encima.
  #4 (permalink)  
Antiguo 26/11/2010, 08:13
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

Bueno antes de nada muchas gracias por contestar =)
A ver el archivo txt es asi:
Código:
nombre
apellido
email
ciudad
pais
Ej:
Código:
Juan
Gonzalez
[email protected]
lisboa
portugal
David
Alonso
[email protected]
madrid
españa
...
Y el problema que tengo es que con el código que os he puesto me sale asi:

solo imprime algo en la primera variable.

Me entiendes ahora?
  #5 (permalink)  
Antiguo 26/11/2010, 08:21
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Procesar txt con PHP

Puedes probar el explode de la siguiente forma, ya que no usas "," en tu archivo de texto.

Código PHP:
Ver original
  1. $datos = explode("\n", $line);
  #6 (permalink)  
Antiguo 26/11/2010, 09:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

Nada :(
He probado lo tuyo y también
Código PHP:
$datos explode("////"$line); 
añadiendo //// al final de cada línea y sigue saliendo lo mismo...
  #7 (permalink)  
Antiguo 26/11/2010, 09:12
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Procesar txt con PHP

jajaja.....la verdada....es mas sencillo de lo que parece haber te explico

lo primero es entender el codigo que estas implementando...
si tienes un dato por linea entonces no lo lleves a un arreglo separandolo por un caracter que no esta

la tabla se crea fuera del foreach...

pruba de la siguiente manera..

siempre que el archivo de texto se llame archivo.txt

<HTML>
<BODY>
<table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
<?
$lines = file('archivo.txt');
$c=0;
foreach ($lines as $line_num => $line)
{
?>
<tr bgcolor="#FFFFFF">

<td width="40%">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Dato<? echo $c?>:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<? echo $line ?></font>
</td>
</tr>
<?
$c++;
} //fin
?>
</table>
</BODY>
</HTML>

Última edición por naciostars; 26/11/2010 a las 09:24
  #8 (permalink)  
Antiguo 26/11/2010, 09:26
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

Gracias,
pero como dices se ve asi:
Código:
Dato0: Juan
Dato1: Gonzalez
Dato2: [email protected]
Dato3: lisboa
Dato4: portugal
Dato5: David
Dato6: Alonso
Dato7: [email protected]
Dato8: madrid
Dato9: españa
y me gustaría que los 5 primero datos estuvieran en una celda los 5 siguientes en otra y con nombre, apellido, email... algo asi:

Código:
Nombre: Juan
Apellido: Gonzalez
Email: [email protected]
Ciudad: lisboa
País: Portugal
-------------------(otra celda)
Nombre David
Apellido: Alonso
Email: [email protected]
Ciudad: madrid
País: españa
Se puede hacer eso?
  #9 (permalink)  
Antiguo 26/11/2010, 09:52
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Procesar txt con PHP

si se puede hacer....de rapidez te paso esto...es que ando en el trabajo...se puede optimizar....revisalo...ok


<HTML>
<BODY>
<table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
<?
$encabezado= array('Nombre','Apellido','Email','Ciudad','País') ;
$lines = file('archivo.txt');
$c=0;
foreach ($lines as $line_num => $line)
{
?>
<tr bgcolor="#FFFFFF">

<td width="40%">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><? echo $encabezado[$c]?>:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<? echo $line ?></font>
</td>
</tr>
<?
$c++;
if($c==5)
{
?>
<tr bgcolor="#FFFFFF">

<td width="40%">
<?
echo "-------------------------------------";
$c=0;
?>
</td>
</tr>
<?
}
} //fin
?>
</table>
</BODY>
</HTML>
  #10 (permalink)  
Antiguo 26/11/2010, 11:10
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

Perfecto!!! muchas gracias!!
  #11 (permalink)  
Antiguo 26/11/2010, 12:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

otra dudita como puedo hacer para que en vez de salir esto "-------------------------------------" salga " Nº1 y cada vez que se repita aumentar un número, me entiendes?
  #12 (permalink)  
Antiguo 26/11/2010, 13:14
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Procesar txt con PHP

jejej..que pena estaba almorzando =)....ya estoy en mi trabajo de nuevo....
no te entiendo muy bien....graficalo como los ejemplos anteriores
  #13 (permalink)  
Antiguo 26/11/2010, 13:15
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Procesar txt con PHP

ahhh ya re entendi =)
  #14 (permalink)  
Antiguo 26/11/2010, 13:20
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Procesar txt con PHP

es asi...tambien de rapidez...ya que voy para una reunion

<HTML>
<BODY>
<table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
<?
$encabezado= array('Nombre','Apellido','Email','Ciudad','País') ;
$lines = file('archivo.txt');
$c=0;
$cont=1;
foreach ($lines as $line_num => $line)
{
if($c==0)
{
?>
<tr bgcolor="#FFFFFF">

<td width="40%">
<?
echo "No".$cont;
$cont++;
?>
</td>
</tr>
<?
}
?>
<tr bgcolor="#FFFFFF">

<td width="40%">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><? echo $encabezado[$c]?>:</b></font><font size="1" face="Arial, Helvetica, sans-serif">
<? echo $line ?></font>
</td>
</tr>
<?
$c++;
if($c==5)
$c=0;
} //fin
?>
</table>
</BODY>
</HTML>
  #15 (permalink)  
Antiguo 26/11/2010, 15:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Procesar txt con PHP

Perfecto otra vez!! muchísimas gracias!
Me estoy iniciando en esto del PHP y hasta que pille el truco...
Bueno ya no te aburro más jejej

Saludoos!

Etiquetas: procesar, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:10.