Foros del Web » Programando para Internet » PHP »

Dividir un archivo de texto en dos partes

Estas en el tema de Dividir un archivo de texto en dos partes en el foro de PHP en Foros del Web. como se puede hacer para dividir un archivo en dos partes, una hasta donde yo le diga, y otra hasta el final......
  #1 (permalink)  
Antiguo 02/01/2008, 16:48
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Dividir un archivo de texto en dos partes

como se puede hacer para dividir un archivo en dos partes, una hasta donde yo le diga, y otra hasta el final...
  #2 (permalink)  
Antiguo 02/01/2008, 17:15
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Dividir un archivo de texto en dos partes

Leelo todo, guardalo en un array y luego dividis el array en dos partes.
__________________
Salu2!
  #3 (permalink)  
Antiguo 02/01/2008, 17:25
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Dividir un archivo de texto en dos partes

¿Qué quieres hacer exactamente?

¿Teniendo archivo1.ext generar archivo2.ext y archivo3.ext?

Supongo que serán archivos de texto, ¿no?

Si es eso y sabiendo donde quieres dejar de escribir en uno y escribir en el otro, yo no lo haría cargando todo en un array, puede ser muy pesado, sobre todo para ficheros grandes.

Desconozco si PHP tiene funciones para tratar así a los ficheros, pero suponiendo que no las tenga, haría lo siguiente:

un bucle que recorra el primer archivo
En ese bucle, leyendo línea a línea (o caracter a carácter si te interesa atinar más el corte), iría metiendo el contenido en archivo2.
Cuando llegue al punto que me interesa (mediante una comprobación, eso dependería de cómo sacas el punto en el que quieres que corte), abriría (o crearía) el archivo3 y a partir de ese momento seguiría metiendo los datos ahí.

Con eso evitas el tener que cargar en memoria el fichero entero y luego cortarlo, ya que en memoria sólo irá la línea (o carácter) que toque en cada iteración del bucle.
  #4 (permalink)  
Antiguo 02/01/2008, 17:57
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Dividir un archivo de texto en dos partes

si, tengo el archivo a y separa dos partes, B y C
  #5 (permalink)  
Antiguo 02/01/2008, 18:29
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Re: Dividir un archivo de texto en dos partes

$archivo=file_get_contents('archivo.txt');

$media=(int)strlen($archivo)/2;

$part1=substr($archivo,0,$media);
$part2=substr($archivo,$media+1,strlen($archivo);

con eso deberia bastar para obtener las dos mitades
__________________
Degiovanni Emilio
developtus.com
  #6 (permalink)  
Antiguo 02/01/2008, 20:31
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Dividir un archivo de texto en dos partes

exelente muchisimas gracias
  #7 (permalink)  
Antiguo 15/12/2012, 16:07
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta Respuesta: Dividir un archivo de texto en dos partes

Las dos mitades quedan almacenadas en variables? o sea se convierten en arreglos?

Gracias.
__________________
Sergio.
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 07:38.