Foros del Web » Programando para Internet » PHP »

leer contenido de un txt de una sola vez

Estas en el tema de leer contenido de un txt de una sola vez en el foro de PHP en Foros del Web. hola amigos! por mas que busco no encuentro nada que me lea un txt de una sola vez, es que no existe nada en plan ...
  #1 (permalink)  
Antiguo 05/08/2003, 09:14
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 16 años, 9 meses
Puntos: 2
leer contenido de un txt de una sola vez

hola amigos!


por mas que busco no encuentro nada que me lea un txt de una sola vez, es que no existe nada en plan "readAll" o algo por el estilo??, tengo que leer linea a linea con un bucle??


Otra pregunta........"fgets" lee una linea del fichero, pero lo que no termino de entender es que tenga que pasarle el numero de bytes que voy a leer, por que claro, y si quiero leer una linea y no se cuantos bytes tiene esa linea???, cuanto es el maximo de bytes que le puedo decir al fgets que me lea???......no se, veo cosas mu raras en el manejo de archivos con php



Gracias!



ToKaTa.
__________________

"Si pudieras volver.....¿.lo harias?"
  #2 (permalink)  
Antiguo 05/08/2003, 10:52
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
No se si se podrá leer el fichero de una sola vez, pero una forma de hacerlo sería esta:
Código PHP:
$a file("archivo.txt");
for (
$j=0$j<sizeof($a); $j++) {
    
$file.=$a[$j]."\n";

La variable $file contendrá el fichero tal cual, respetando saltos de linea, etc, como si lo hubiera leido de una sola vez
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 05/08/2003, 12:36
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
claro k puese llerlo de una sola vez, con la funcion file() esta te lee todo el texto y te lo almacena en un arreglo, cada linea es un elemento del array, si luego kieres juntarlas en una sola variable es cosa de hacer un implode()

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #4 (permalink)  
Antiguo 05/08/2003, 12:42
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
Por supuesto, más sencillo que lo que puse antes:
Código PHP:
$a file("archivo.txt");
$file implode("\n",$a); 
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #5 (permalink)  
Antiguo 05/08/2003, 13:01
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Código PHP:
$archivo "archivo.txt";
$fd fopen ($archivo"r");
$contenido fread ($fdfilesize ($archivo));
fclose ($fd); 
Esta funcion no te satura la memoria guardando el archivo dos veces (un en el array y otra en la variable) sino que de una sola vista te guarda el contenido del archivo en la variable.

__________________
Manoloweb
  #6 (permalink)  
Antiguo 06/08/2003, 03:48
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 16 años, 9 meses
Puntos: 2
muchas soluciones


gracias a todos



ToKaTa.
__________________

"Si pudieras volver.....¿.lo harias?"
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:44.