Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: elClarin en 01 de Agosto 2016, 17:11
-
Buenos días tengo un problema con la lectura de un archivo txt y pasar los datos a una BD mysql, el problema radica en que en un archivo txt tengo unos poemas con nùmero del poema, nombre del autor, y otros datos pero no encuentro la forma de depositar esa información en la base de datos. Aquí el archivo.
POEMA PARA LAS MADRES Nº-012312
POR: cARLOS CONTRERA
FECHA: 02/02/2016.
tITULO:
CANCION DE INVIERNO
En mi vida brotò la esperanza de ser libre como las aguas del
POEMA PARA LAS MADRES Nº-012323
POR: Jorge Rojas
FECHA: 02/02/2016.
tITULO:
VIDA
Vivir como una isla,
lleno por todas partes
de ti, que me rodeas
ya presente o distante
con un temblor de luz
primera, sin pulir,
sin arista de tarde,
ni sombra de jardín.
Y ángeles en espejos
guardando tu mirada
para hacerse verdades
y noches estrelladas.
POEMA PARA LAS MADRES Nº-012389
POR: Karmelo Iribarren
FECHA: 02/12/2016.
tITULO:
ESO ERA AMOR
Te veía
llegar,
cruzar la puerta,
darme un besazo en el morro,
mirarme a los ojos
de esa manera única,
como solo tú miras
a los ojos: rompiendo el calendario.
Te veía
hacer esas cosas sencillas
que tú haces
para que el mundo
entre en razón;
y no sabía
a quién
darle las gracias.
POEMA PARA LAS MADRES Nº-012365
POR: Antonio Machado
FECHA: 02/15/2016.
tITULO:
LOS SUEÑOS
El hada más hermosa ha sonreído
al ver la lumbre de una estrella pálida,
que en hilo suave, blanco y silencioso
se enrosca al huso de su rubia hermana.
Y vuelve a sonreír porque en su rueca
el hilo de los campos se enmaraña.
Tras la tenue cortina de la alcoba
está el jardín envuelto en luz dorada.
La cuna, casi en sombra. El niño duerme.
Dos hadas laboriosas lo acompañan,
hilando de los sueños los sutiles
copos en ruecas de marfil y plata.
Agradezco cualquier colaboración.
y se requiere llenar en mysql Nº de poema, nombre de autor, fecha, titulo del tema y contenido
-
encontré un link que tal vez te puede ayudar.
http://blog.unijimpe.net/upload-de-archivos-2mb-php/#comment-30407
-
Hola Daniela Vega Martínez gracias por tu repuesta pero creo que no me explique bien no estamos hablando del tamaño del archivo yo me refiero a el contenido puesto que no esta en forma lineal ni separado por coma y de un contenido al otro hay variación en las cantidades de línea.
-
Hola elClarin, para hacer lo que indicas necesitas poder identificar de alguna manera dónde empieza y dónde termina cada campo para la base de datos.
Una forma de hacerlo sería organizar los poemas en filas de un archivo csv ó excel, de esa forma podrías hacer una importación más o menos inmediata.
Si no puedes hacer eso, tendrías que preparar una rutina que busque signos que permitan identificar los campos.
Por ejemplo en
POEMA PARA LAS MADRES Nº-012365
POR: Antonio Machado
FECHA: 02/15/2016.
tITULO:
LOS SUEÑOS
El hada más hermosa ha sonreído
al ver la lumbre de una estrella pálida,
Aquí el número de poema sería la serie de números después de Nº- . Esto puedes resolverlo usando expresiones regulares y funciones para el manejo de cadenas de texto. Sobre funciones para el manejo de cadenas de texto puedes orientarte con las explicaciones en el curso de PHP en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193
Para nombre del autor tendrías que capturar el texto después de POR: y antes de FECHA:
Para la fecha tendrías que capturar todo el texto después del primer número tras FECHA: y hasta el siguiente espacio en blanco o salto de línea.
Para el título tendrías que capturar el texto en mayúsculas después de tITULO:
Para el contenido sería todo el texto después del título hasta el siguiente POEMA PARA
Puede hacerse pero es trabajoso. Tanto que si no fueran muchos poemos te recomendaría mejor que lo organices en columnas en un excel y lo importes directamente, a lo mejor así acabas antes.
Saludos
-
Yo estoy claro que si me dan el problema en csv o excel ya estaría listo pero ese es el ejemplo y el segundo creia que era mas fácil porque son unos recibos de nómina pero que tienen la misma cantidad de línea y de igual forma me están reventando la cabeza, de igual forma esta noche aprovecho para desarrollar y analizar tu explicación
-
Este es el segundo ejemplo:
CARROS USADOS
CANCELACION A: 01-EMPLEADOS
2SDA QCNA DE ENERO 2007
Nomina Nro: 02 Periodo: Desde 16-01-2007 Hasta 31-01-2007
RECIBO NUMERO : 2442
BANFOANDES CTA:020000001232 FECHA DE EMISION : 31/01/07
CARGO TRABAJADOR CEDULA APELLIDOS Y NOMBRES Nro.Pago
1 1 5,658,744 CARLOS SANCHEZ 1
CARGO: PRESIDENTE
A S I G N A C I O N E S D E D U C C I O N E S
COD DESCRIPCION CT CUOTA SALDO TRA DESCRIPC. CT CUOTA SALDO
000SUELDO 15.00 2277000.00
001 S.S.O 01 29557.20 503056.56
002 P/FORZOSO 01 7389.30 125764.25
003 P/HABITAC. 01 22770.00 441540.00
004 F/DE JUB. 01 68310.00 1324620.00
TOTAL ASIGNACION 2,277,000.00 TOTAL DEDUCCION 128,026.50 NETO 2148,973.50
CARROS USADOS
CANCELACION A: 01-EMPLEADOS
2SDA QCNA DE ENERO 2007
Nomina Nro: 02 Periodo: Desde 16-01-2007 Hasta 31-01-2007
RECIBO NUMERO : 2445
BANFOANDES CTA:020000001232 FECHA DE EMISION : 31/01/07
CARGO TRABAJADOR CEDULA APELLIDOS Y NOMBRES Nro.Pago
5 32 4,451,387 TORREALBA, DONATO 1
CARGO: CHOFER
A S I G N A C I O N E S D E D U C C I O N E S
COD DESCRIPCION CT CUOTA SALDO TRA DESCRIPC. CT CUOTA SALDO
000SUELDO 15.00 400056.25
001 S.S.O 01 9232.08 157127.62
002 P/FORZOSO 01 2308.03 39282.07
003 P/HABITAC. 01 4000.56 77576.12
004 F/DE JUB. 01 12001.69 232728.38
TOTAL ASIGNACION 400,056.25 TOTAL DEDUCCION 27,542.36 NETO 372,513.89
CARROS USADOS
CANCELACION A: 01-EMPLEADOS
2SDA QCNA DE ENERO 2007
Nomina Nro: 02 Periodo: Desde 16-01-2007 Hasta 31-01-2007
RECIBO NUMERO : 2443
BANFOANDES CTA:020000001232 FECHA DE EMISION : 31/01/07
CARGO TRABAJADOR CEDULA APELLIDOS Y NOMBRES Nro.Pago
2 2 8,779,514 GONZALEZ GAMEZ, ANA A. 1
CARGO: ASISTENTE PRESIDENTE
A S I G N A C I O N E S D E D U C C I O N E S
COD DESCRIPCION CT CUOTA SALDO TRA DESCRIPC. CT CUOTA SALDO
000SUELDO 15.00 480067.50
TOTAL ASIGNACION 480,067.50 TOTAL DEDUCCION 0.00 NETO 480,067.50