Foros del Web » Programando para Internet » PHP »

Consulta para borrar linea de un archivo

Estas en el tema de Consulta para borrar linea de un archivo en el foro de PHP en Foros del Web. Hola , como puedo hacer para abrir un archivo txt que me agarre la primer linea y me la pase a una variable pero que ...
  #1 (permalink)  
Antiguo 22/04/2009, 10:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Consulta para borrar linea de un archivo

Hola , como puedo hacer para abrir un archivo txt que me agarre la primer linea y me la pase a una variable pero que en le archivo txt me lo borre....

Gracias
  #2 (permalink)  
Antiguo 22/04/2009, 10:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta para borrar linea de un archivo

mmm..... es algo simple

Código PHP:
$old 'foo.txt';
$test file($old);

echo 
array_shift($test); // primer elemento o linea

// re-escribimos
$tmp fopen($old'w+');
fwrite($tmpjoin("\n"$test));
fclose($tmp); 
Edito: bueno, es simple con archivos pequeños.... xD

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 22/04/2009 a las 10:33
  #3 (permalink)  
Antiguo 22/04/2009, 10:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Consulta para borrar linea de un archivo

Hola nicoduca,

Es un poco complicado si el archivo es muy grande, ya que para borrar la primera linea vas a tener que pasar todo el contenido a una variable borrar la primera linea y volver a escribir todo el documento de nuevo en el .txt.

Algo así:
Código php:
Ver original
  1. $file = file('archivo.txt');
  2. unset($file[0]);
  3. $rFile = fopen('archivo.txt', 'w');
  4. foreach($file as $line) {
  5.      fwrite( $rFile, $line );
  6. }
  7. fclose( $rFile );

Saludos.
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 01:22.