¿Cómo eliminar una línea del archivo con php?
Tengo un archivo llamado $dir
y una cadena llamada $line
, sé que esta cadena es una línea completa de ese archivo pero no sé su número de línea y quiero eliminarla del archivo, ¿qué debo hacer?
¿Es posible utilizar awk?
Aceptado
$contents = file_get_contents($dir);
$contents = str_replace($line, '', $contents);
file_put_contents($dir, $contents);
Lea las líneas una por una y escriba todas menos la línea coincidente en otro archivo. Luego reemplace el archivo original.
esto simplemente revisará cada línea y, si no es lo que desea eliminar, se enviará a una matriz que se volverá a escribir en el archivo. mira esto
$DELETE = "the_line_you_want_to_delete";
$data = file("./foo.txt");
$out = array();
foreach($data as $line) {
if(trim($line) != $DELETE) {
$out[] = $line;
}
}
$fp = fopen("./foo.txt", "w+");
flock($fp, LOCK_EX);
foreach($out as $line) {
fwrite($fp, $line);
}
flock($fp, LOCK_UN);
fclose($fp);