Foros del Web » Programando para Internet » PHP »

Función file() no me hace un array con cada línea del documento!!! :(

Estas en el tema de Función file() no me hace un array con cada línea del documento!!! :( en el foro de PHP en Foros del Web. Hola: Tengo el siguiente problema, estoy convirtiendo PDF's a txt y luego con la función file() los convierto a un arreglo de líneas, el problema ...
  #1 (permalink)  
Antiguo 26/06/2010, 17:26
Avatar de belem_garrido  
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Función file() no me hace un array con cada línea del documento!!! :(

Hola:

Tengo el siguiente problema, estoy convirtiendo PDF's a txt y luego con la función file() los convierto a un arreglo de líneas, el problema es que al parecer no me reconoce cada salto de línea y me pone todo en una sola línea aunque son más.

¿Qué puedo hacer?

Les pego aquí mi código para darles una idea de lo que estoy haciendo. Mil gracias!

Código:
$file1 = 'C:/p1.pdf';
$outpath1 = 'C:/p1.txt';
$command1='pdftotext '.escapeshellcmd($file1).' '.escapeshellcmd($outpath1);
system($command1, $ret1);

	$array_hor1 = file($outpath1);

	$cc1 = count($array_hor1);		//contar líneas del documento
	for($t=0; $t<=$cc1; $t++){
	$v1 = explode(" ", $array_hor1[$t]);	//dividir cada línea en palabras
  #2 (permalink)  
Antiguo 26/06/2010, 18:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Función file() no me hace un array con cada línea del documento!!! :(

Una buena forma de saber como se está comportantando el código es usar var_dump para ver como lo está creando y almacenando. Haz var_dump a las variables para que veas como están creadas. Otra cosa no indicaste que tienes en la variable $ret1.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/06/2010, 19:00
Avatar de belem_garrido  
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Función file() no me hace un array con cada línea del documento!!! :(

Ah la función $ret1 es un valor que devuelve la función system(), lo uso en otra parte del código para saber si encontró el archivo PDF que va a convertir a txt. Respecto a lo de imprimir el contenido de la variable, ya lo hice y te digo que si me respeta todo el contenido del documento txt pero en una sola línea, mira pasa algo así:

DOCUMENTO:
"Hola mi nombre es:
Belem Garrido y
tengo un problema con
la función file."

$array_hor1[0] = "Hola mi nombre es: Belem Garrido y tengo un problema con la función file."
$array_hor1[1] = " "
$array_hor1[2] = " "

Lo que yo quiero que haga es:
$array_hor1[0] = "Hola mi nombre es:"
$array_hor1[1] = "Belem Garrido y"
$array_hor1[2] = "tengo un problema con"
$array_hor1[3] = "la función file."

Muchas gracias por tu ayuda.
  #4 (permalink)  
Antiguo 26/06/2010, 19:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Función file() no me hace un array con cada línea del documento!!! :(

Bueno a mi me resultó, mira lo que hice
c.txt
Cita:
Hola mi nombre es:
Abimael y
a mi me funcionó
o al parecer no te entendí.
b.php
Código PHP:
Ver original
  1. <?php
  2. $arr = file("c.txt");
  3. var_dump($arr);
Resultado:
Código PHP:
Ver original
  1. array(4) {
  2.   [0]=>
  3.   string(20) "Hola mi nombre es:
  4. "
  5.   [1]=>
  6.   string(11) "Abimael y
  7. "
  8.   [2]=>
  9.   string(18) "a mi me funcionó
  10. "
  11.   [3]=>
  12.   string(27) "o al parecer no te entendí."
  13. }
Puede ser que el archivo de texto se modifica antes de ejecutar la función file. Verifica si system modifica el archivo antes. Haz la prueba con lo que te indiqué y déjanos saber que te sale. Sin la función system.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 26/06/2010, 19:35
Avatar de belem_garrido  
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Función file() no me hace un array con cada línea del documento!!! :(

De hecho si, debe ser la función system() que me está convirtiendo el PDF en una sola línea buuu!!

Si me salió como tu lo hiciste pero el problema ya viene desde la conversión, ni modo.

Mil gracias por tu ayuda.

Etiquetas: explode, file, linea, saltos
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 15:31.