Pregunta:
Fecha: 07-11-2016 06:06:35
(En Español)
Necesito ejecutar las siguientes acciones.-
Abrir un archivo de texto (boletas.txt) donde existen datos de personas en un grupo de lineas y que de acuerdo al numero de su documento se ubique a la persona, hasta aquí no hay problema.
Debo de guardar un bloque de lineas de información de alguna manera del dato buscado, aquí empieza mi problema, como guardo esta información, que función si existe debo usar, y por ultimo.
Esta información obtenida debo de guardarla en otro archivo de texto (talon.txt).
Adjunto el archivo php que he realizado esperando puedan ayudarme.
Un Abrazo
Pedro
Uso de archivos de texto, lectura de un archivo, extracción de información y escritura en otro archivo de texto[Resuelta]
Saludos amigos de PHP Central:Necesito ejecutar las siguientes acciones.-
Abrir un archivo de texto (boletas.txt) donde existen datos de personas en un grupo de lineas y que de acuerdo al numero de su documento se ubique a la persona, hasta aquí no hay problema.
Debo de guardar un bloque de lineas de información de alguna manera del dato buscado, aquí empieza mi problema, como guardo esta información, que función si existe debo usar, y por ultimo.
Esta información obtenida debo de guardarla en otro archivo de texto (talon.txt).
Adjunto el archivo php que he realizado esperando puedan ayudarme.
Un Abrazo
Pedro
<?php
ini_set("auto_detect_line_endings", true);
$lineas = file("boletas.txt");
$palabra = "28240253";
$pos = 0;
// Podemos mostrar / trabajar con todas las líneas:
foreach($lineas as $linea)
{
if (strstr($linea,$palabra))
{ echo $linea.$pos;
//echo "si esta la palabra $linea, está en la linea : ".$pos;
$pun = $pos;
}
$pos++;
}
$fp = fopen("boleta.txt", "w");
fgets($fp, $pun);
fwrite($fp, $palabra);
fclose($fp);
?>
<!DOCTYPE html>
<html lang="es">
<head>
</head>
<body>
</body>
</html>
Votos: 1 -
Respuestas: 5 -
Vistas: 11
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 08-11-2016 03:28:52 Como quiere q este el formato en el txt , haz un pantallazo , te comento en mi caso implemente un modulo de acreditaciones Latampass el cual se encarga de mandar unos crep a latam ahora para mandar ese crep (txt) consulto un bd y luego con la informacion escribo en mi txt en mi caso esto es el formato
Votos: 0 - Link respuesta
-
Fecha: 08-11-2016 05:47:44 Saludos mi archivo boletas.txt es el siguiente:
Apellidos : ALATRISTA CALAMULLO
Nombres : MARIO JHON
Fecha de Nacimiento : 28/12/1973
Documento de Identidad : (Lib.Electoral o D.N.) 01863174
Establecimiento : UNIDAD DE GESTION EDUCATIVA LOCAL
Cargo : ESP. ADMINISTARTIVO I
Tipo de Servidor : ADMINISTRATIVO NOMBRADO
.
Apellidos : ARANA HINOSTROZA
Nombres : LISBER
Fecha de Nacimiento : 25/06/1979
Documento de Identidad : (Lib.Electoral o D.N.) 40372366
Establecimiento : UNIDAD DE GESTION EDUCATIVA LOCAL
Cargo : ESP. ADMINISTARTIVO I
Tipo de Servidor : ADMINISTRATIVO NOMBRADO
.
Apellidos : AVENDAÑO GUTIERREZ
Nombres : SIXTO
Fecha de Nacimiento : 06/04/1961
Documento de Identidad : (Lib.Electoral o D.N.) 28240253
Establecimiento : UNIDAD DE GESTION EDUCATIVA LOCAL
Cargo : TEC.ADM.
Tipo de Servidor : ADMINISTRATIVO NOMBRADO
.
Apellidos : AYBAR CUADROS
Nombres : MARIA JOSEFINA
Fecha de Nacimiento : 19/03/1956
Documento de Identidad : (Lib.Electoral o D.N.) 28228131
Establecimiento : UNIDAD DE GESTION EDUCATIVA LOCAL
Cargo : SECRETARIA / O I
Tipo de Servidor : ADMINISTRATIVO NOMBRADO
.
y mi archivo talones.txt una vez ubicado el dato deberá ser:
Apellidos : AVENDAÑO GUTIERREZ
Nombres : SIXTO
Fecha de Nacimiento : 06/04/1961
Documento de Identidad : (Lib.Electoral o D.N.) 28240253
Establecimiento : UNIDAD DE GESTION EDUCATIVA LOCAL
Cargo : TEC.ADM.
Tipo de Servidor : ADMINISTRATIVO NOMBRADO
.
agradeceré su apoyo. Votos: 0 - Link respuesta -
Fecha: 08-11-2016 09:46:22 te comparto el codigo , pruebalo y me comentas
saludos
Att Jose Quinto
<?php $archivo = file("archivo/boletas.txt"); $palabra = "28240253"; function retornar_posicion($archivo,$palabra){ $pos = 0; foreach($archivo as $arc){ if (strstr($arc,$palabra)) { $pun = $pos; break; } $pos++; } return $pun; } $posicion = retornar_posicion($archivo,$palabra); $linia_inicio = $posicion-3; $linia_final = $posicion+4; $fp = fopen("talones.txt", "w"); for ($i=$linia_inicio; $i<=$linia_final ; $i++) { fwrite($fp, $archivo[$i]); } fclose($fp); ?>Votos: 1 - Link respuesta -
Fecha: 08-11-2016 12:58:39 Gracias amigo, me funciono correctamente un abrazo estamos para servirnos Votos: 1 - Link respuesta
-
Fecha: 08-11-2016 18:21:39 De nada pedro, igualmente saludos, que bien q te haya servido Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
