Foros del Web » Programando para Internet » PHP »

Usar Separadores de texto para identificar variables

Estas en el tema de Usar Separadores de texto para identificar variables en el foro de PHP en Foros del Web. Buenos dias, les escribo ya que soy nuevo utilizando no solo php sino programando y necesito ayuda para poder identificar las diferentes variables que se ...
  #1 (permalink)  
Antiguo 26/08/2008, 10:32
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Usar Separadores de texto para identificar variables

Buenos dias, les escribo ya que soy nuevo utilizando no solo php sino programando y necesito ayuda para poder identificar las diferentes variables que se encuentran en un archivo .txt
El caso es el siguiente, necesito saber como hago para poder identificar cada variable sabiendo que en una misma linea tengo varia informacion de un item especifico separados por el simbolo ' (como los archivos csv) por ejemplo mi archivo tendria este formato:

usuario'contraseña'codigo1'descripcion1'compañia1' detalle1
usuario'contraseña'codigo2'descripcion2'compañia2' detalle2
usuario'contraseña'codigo3'descripcion3'compañia3' detalle3
usuario'contraseña'codigo4'descripcion4'compañia4' detalle4
usuario'contraseña'codigo5'descripcion5'compañia5' detalle5

en este sentido necesito saber como en cierto momento puedo obtener cualquiera de estos datos.
ya que necesito luego validar esta informacion luego en otras tablas y/o archivos.
Muchas gracias de antemano por la ayuda prestada
  #2 (permalink)  
Antiguo 26/08/2008, 10:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Usar Separadores de texto para identificar variables

No entiendo muy bien, pero si lo que quieres es solo obtener uno de los datos que están separados por ' puedes usar explode().

Véase la documentación: http://www.php.net/manual/es/function.explode.php
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/08/2008, 10:45
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 4 meses
Puntos: 14
Respuesta: Usar Separadores de texto para identificar variables

la funcion file de php retorna un array con todas las filas del archivo...
la funcion explode retorna un array a partir de una cadena de caracteres separada por un caracter especifico

$archivo = file(nombrefisicoarchivo);
$primeraLinea = $archivo[0];

$arrayDatosPrimeraLinea = explode("'",$primeraLinea);


Suerte
__________________
My path is lit by my own fire, I only go where I desire
  #4 (permalink)  
Antiguo 26/08/2008, 15:21
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Usar Separadores de texto para identificar variables

Hola estoy colocando este codigo y no me hace nada, lo que quiero es ver si en efecto $arrayDatosPrimeraLinea[0] (solo por tomar una posicion) equivale al primer valor de la primera fila del archivo .txt

$archivo= file("prueba.txt");
$primeralinea=$archivo[0];
$arrayDatosPrimeraLinea = explode("'",$primeraLinea);
echo "$arrayDatosPrimeraLinea[0] <br>";

Como archivo de prueba cree prueba.txt que contiene la misma informacion que coloque en la pregunta inicial y el mismo se encuentra ubicado en la misma carpeta donde esta guardada la pagina .php
  #5 (permalink)  
Antiguo 26/08/2008, 15:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Usar Separadores de texto para identificar variables

Eso debería funcionar, ¿seguro que tienes el archivo en la misma carpeta con el nombre que indicaste?.

P.S.: No necesitas poner <br> ya que file lee con los saltos de línea incluídos a menos que se indique lo contrario:
Código PHP:
$archivofile("prueba.txt");
$primeralinea=$archivo[0];
$arrayDatosPrimeraLinea explode("\'",$primeraLinea);
echo 
$arrayDatosPrimeraLinea[0]; 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 26/08/2008, 15:54
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Usar Separadores de texto para identificar variables

Oye que pena, coloco el codigo tal cual y no me imprime absolutamente nada.
El archivo si se encuentra efectivamente en la misma ruta donde tengo la pagina php desde donde estoy ejecutando el codigo.

El nombre del archivo (textual) es

prueba.txt

y el contenido de dicho archivo es lo siguiente:

usuario1'contraseña1'codigo1'descripcion1'compañia 1' detalle1
usuario2'contraseña2'codigo2'descripcion2'compañia 2' detalle2
usuario3'contraseña3'codigo3'descripcion3'compañia 3' detalle3
usuario4'contraseña4'codigo4'descripcion4'compañia 4' detalle4
usuario5'contraseña5'codigo5'descripcion5'compañia 5' detalle5

El codigo que estoy colocando (textual) es el siguiente:

$archivo = file("prueba.txt");
$primeralinea = $archivo[0];
$arrayDatosPrimeraLinea = explode("'",$primeraLinea);
echo $arrayDatosPrimeraLinea[0];
  #7 (permalink)  
Antiguo 26/08/2008, 21:08
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Usar Separadores de texto para identificar variables

El problema esta resuelto, el error estaba en una de las llamadas a las variables por una letra en minuscula. muchas gracias...

ahora estoy tratando de imprimir los primeros campos de cada linea solo para verificar que tenga control de las variables como me interesa y tampoco me da resultado alguno (no me muestra nada), el codigo que estoy poniendo es el siguiente:

$archivo3 = file("prueba.txt");
$lineas3 = count($archivo3);
for ($k=0; $k < $lineas3;k++)
{
$cadafila[$k] = $archivo3[$k];
$datosfilas[$k] = explode("'",$cadafila[$k]);
echo "$datosfilas[$k] <br>";
}
  #8 (permalink)  
Antiguo 26/08/2008, 22:43
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Usar Separadores de texto para identificar variables

Código PHP:
//Falta el signo de $ que indica que $k es una variable en k++
for ($k=0$k $lineas3;k++) 
  #9 (permalink)  
Antiguo 27/08/2008, 07:21
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Usar Separadores de texto para identificar variables

Muchas gracias Okram ahora si me imprime pero solo me imprime la palabra Array, no sabras a que se debera esto?
  #10 (permalink)  
Antiguo 27/08/2008, 09:08
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Usar Separadores de texto para identificar variables

Listo, ya consegui el detalle. Era cuando definia el arreglo
$cadafila[$k] = $archivo3[$k];

Al modificarlo por
$cadafila = $archivo3[$k];

si me imprimio los valores correspondientes.

Muchas gracias
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 18:37.