Foros del Web » Programando para Internet » PHP »

Borrar última línea de un .txt y que desaparezca.

Estas en el tema de Borrar última línea de un .txt y que desaparezca. en el foro de PHP en Foros del Web. Estimados expertos: Antes que nada agradezco por tomarse el tiempo de leer este post. Sin mayores preámbulos voy al punto. Tengo un archivo de texto ...
  #1 (permalink)  
Antiguo 19/06/2012, 12:11
 
Fecha de Ingreso: diciembre-2011
Mensajes: 11
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Borrar última línea de un .txt y que desaparezca.

Estimados expertos:

Antes que nada agradezco por tomarse el tiempo de leer este post. Sin mayores preámbulos voy al punto.

Tengo un archivo de texto al que quiero borrar la última línea y que ésta desaparezca, es decir, que haga un "trim".

Abro el archivo, lo recorro, cotejo si la línea coincide, la borro y reescribo el archivo. El problema viene si la línea es la última porque deja el espacio vacío y al momento de desplegar el archivo nuevamente, marca "Notice" lo que da la sensación de error.

El código que obtuve de otro experto se muestra a continuación.


Código:
//Inicializamos nuestras variables
$numlinea = 1;
$aux = array();
$idParaBorrar= 12;

// Abrimos el archivo
$archivo = fopen('something.txt','r');
// Hacemos un ciclo y vamos recogiendo linea por linea del archivo.
	while (!feof($archivo)) {
		$linea = fgets($archivo);
		$pieza = explode("|", $linea);
		$id = $pieza[0];
  if ($idParaBorrar != $identificador)  // Si la linea que deseamos eliminar no es esta 
  {
    $aux[] = $linea; // La agregamos a nuestra variable auxiliar
  }
  // Incrementamos nuestro contador de lineas

  $numlinea++;

  }
// Cerramos el archivo.
fclose($archivo);
// Convertimos el arreglo(array) en una cadena de texto (string) para guardarlo.
$aux = implode($aux, '');
// Reemplazamos el contenido del archivo con la cadena de texto (sin la linea eliminada)
file_put_contents('something.txt', $aux);

Desde ya agradezco el apoyo

Saludos Cordiales
Edu.

  #2 (permalink)  
Antiguo 19/06/2012, 19:54
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Borrar última línea de un .txt y que desaparezca.

Revisa el manual para implode, estás enviando mal los parámetros: www.php.net/implode
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: lineas-txt-archivo, trim
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 10:35.