Hola amigos necesito en script que me borre las ultimas 5 lineas de un archivo csv.
He intentado con este codigo
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
<?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.
$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)
$fichero=file($dir);
for($i=0;$i<$filas_a_borrar;$i++)
array_pop($fichero)
$fichero=implode("",$fichero)
$f = fopen($dir,"w");
fwrite($f,$fichero);