Foros del Web » Programando para Internet » PHP »

No puedo leer un archivo txt

Estas en el tema de No puedo leer un archivo txt en el foro de PHP en Foros del Web. Buenas! tengo un problema no se que estare haciendo mal.. no me lle el archivo txt les dejo el codigo y el error gracias @import ...
  #1 (permalink)  
Antiguo 21/11/2012, 09:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
No puedo leer un archivo txt

Buenas!

tengo un problema no se que estare haciendo mal.. no me lle el archivo txt les dejo el codigo y el error

gracias

Código PHP:
Ver original
  1. $nArc= fopen("/archivos/perxs/1171605369_1168510734_hola.txt","r");
  2. $sep = ";";
  3. if (!$nArc)
  4. {
  5.     echo "no se puede abrir el archivo";
  6. }
  7. else
  8. {
  9.    
  10.     while($cCont= fread($nArc,filesize("/archivos/perxs/1171605369_1168510734_hola.txt"), 1000, ",") !==FALSE)
  11.     {
  12.         $i=0;
  13.         foreach($cCont as $i=> $row)
  14.         {
  15.             $matriz = explode($sep, $row);
  16.         echo $matriz[0]." :: ".$matriz[1]. " :: ".$matriz[2]."<p/>";
  17.         }
  18.    
  19.    
  20.     }
  21. }
  22. fclose($nArc);

el error que me sale es este: Warning: fread() expects exactly 2 parameters, 4 given in

No se que estoy haciendo mal..
__________________
..
  #2 (permalink)  
Antiguo 21/11/2012, 09:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No puedo leer un archivo txt

El error dice todo claramente.
Cita:
Warning: fread() expects exactly 2 parameters, 4 given in
Te sugiero que aprendas a usar un traductor en linea, te va a ser mucho de ayuda.

Lo que significa es "fread() espera exactamente 2 parámetros, 4 han sido pasados" ¿comprendes?

Revisa el manual:
http://php.net/fread

Supongo que esa no es la función que tenías en mente, ¿tal ves fgetcsv()?

http://php.net/fgetcsv
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/11/2012, 09:53
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No puedo leer un archivo txt

Jajaja sabia que si pateketrueke contesta directo a php.net.. bien quite los 2 parametros que estan demas..
Pero me me quedo otro error del foreach.. Warning: Invalid argument supplied for foreach()
__________________
..
  #4 (permalink)  
Antiguo 21/11/2012, 09:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No puedo leer un archivo txt

¿Viendo y no ves?

Ahora resulta que foreach() necesita un array para poder iterar, ¿si sabes lo que devuelve la función fread()?

Porque no devuelve precisamente un array, devuelva una cadena.

Por eso siempre digo que hay que leer el manual, no hacerse ideas absurdas en la mente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/11/2012, 09:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No puedo leer un archivo txt

Bien en ese caso que puedo hacer? no puedo usar la funcion fgetcsv

Mandandome al infierno pateketrueke en 3..2..1..
__________________
..
  #6 (permalink)  
Antiguo 21/11/2012, 10:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No puedo leer un archivo txt

Pues lo que puedes hacer es aclarar lo que planeas, porque no tiene sentido el foreach() dentro del while() ¿o cuales son tus argumentos para hacerlo así?

No podemos adivinar lo que planeas, así que poco podemos ayudar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/11/2012, 10:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: No puedo leer un archivo txt

Haz un var_dump a la variable justo antes del foreach que usas en el foreach, para que veas el formato de la variable y así verifiques que devuelva lo que espera un foreach que es un array.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 22/11/2012, 04:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No puedo leer un archivo txt

Bien, lo que quiero hacer es leer un archivo txt que tiene 3 columnas separadas por ; y quiero guardar en un array cada dato de la linea.. algo asi

array[0]= nombre
array[1]= apellido
array[2]=edad
__________________
..
  #9 (permalink)  
Antiguo 22/11/2012, 07:04
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: No puedo leer un archivo txt

Si este es el formato del archivo:
pepito;martinez;18
marco;polo;65
benganito;camacho;42

Entonces:

Código PHP:
$lineas file('mi_archivo.txt');

foreach (
$lineas as $linea_num => $linea) {
        
$datos explode(';'$linea);
        echo 
$datos[0] . $datos[1] . $datos[2];

Salud

Última edición por kiko's; 22/11/2012 a las 07:09
  #10 (permalink)  
Antiguo 22/11/2012, 07:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No puedo leer un archivo txt

Exacto kiko's
__________________
..

Etiquetas: txt
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 12:00.