Delete the first line of an array and store result (php)


I am looking for the correct way to open a text file to upload the content to a



Delete the first line and save the content in the same text file again.

without the deleted line I use this example:

$ra= file("datos.txt");
$s = unset($ra[0]);

$file = fopen("datos.txt", "w");

The problem is that the result is a text file without content.

I hope some idea.

asked by BotXtrem Solutions 29.09.2017 в 21:29

1 answer


Here is an example: I hope it serves you. Greetings


// Inicializamos nuestras variables
$i=0; //contador de línea que se está leyendo
$numlinea = 0; //línea que se desea borrar a esa se le asigna el indice, iniciando en 0 como primera 
$aux = array();

// Abrimos el archivo
$archivo = fopen('datos.txt','r');
// Hacemos un ciclo y vamos recogiendo linea por linea del archivo.
    while ($linea = fgets($archivo))

  if ($i != $numlinea)  // Si la linea que deseamos eliminar no es esta 
    $aux[] = $linea; // La agregamos a nuestra variable auxiliar

  // Incrementamos nuestro contador de lineas

// Cerramos el 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('datos.txt', $aux);
echo "Se elimino la linea '$numlinea'";
    echo "Ocurrio un error al abrir el archivo";
answered by 29.09.2017 / 22:42