php scritp para borrar las ultimas 5 lineas de un archivo csv o txt

Iniciado por alexiscruz007, 23 Febrero 2015, 21:40 PM

0 Miembros y 1 Visitante están viendo este tema.

alexiscruz007

Hola amigos necesito en  script que me borre las ultimas 5 lineas de un archivo csv.

He intentado con este codigo

Código (php) [Seleccionar]
if($_POST['validacion']=="si"){  
   $archivo = './datos.txt';  
   if(file_exists($archivo)) {  
       $file = fopen($archivo,'r');  
       while(!feof($file)) {  
           $name = fgets($file);  
           $lineas[] = $name;  
       }  
       fclose($file);  

       // Todas las lineas quedan almacenadas en $lineas  
       // Ahora eliminas la fila 15 por ejemplo, en el array sería la posicion 14 (empezamos por la 0)  
       unset($lineas[14]);  
       $lineas = array_values($lineas);  
       print_r($lineas);  
       // GUARDAMOS  
       $file = fopen($archivo, "w");  
       foreach( $lineas as $linea ) {  
           fwrite( $file, $linea );  
       }  
       fclose( $file );
   }
}




pero no me funciona.

luego unirlo con este para que haga lo que quiero

Código (php) [Seleccionar]
<?php
$fichero 
"mi_fichero.txt";
$filas file($fichero);
$ultima_linea count($filas); 
$ultima_linea_escritura $filas[$ultima_linea];
echo 
"Aqui esta:<br>";
echo 
"$ultima_linea_escritura";
?>



gracias de antemano por su ayuda

Mod: Etiquetas GeSHi obligatorias.

engel lex

Código (php) [Seleccionar]
$fichero = "mi_fichero.txt";
$filas = file($fichero);
$ultima_linea = count($filas);
$ultima_linea_escritura = $filas[$ultima_linea];//error!... la ultima linea es count-1
echo "Aqui esta:<br>";
echo



mi forma sería... (puede tener errores no está revisado)

Código (cpp) [Seleccionar]
$fichero=file($dir);
for($i=0;$i<$filas_a_borrar;$i++)
  array_pop($fichero)
$fichero=implode("",$fichero)
$f = fopen($dir,"w");
fwrite($f,$fichero);
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.