Jump to content

delete a single line from txt file?


jacko310592

Recommended Posts

i just managed to find this on the net,  but can anyone suggest a way this code could be edited so that it can delete multiple lines within a file at once.

(eg, line 1, 3 and 7)

 

<?php
function cutline($filename,$line_no=-1) {

$strip_return=FALSE;

$data=file($filename);
$pipe=fopen($filename,'w');
$size=count($data);

if($line_no==-1) $skip=$size-1;
else $skip=$line_no-1;

for($line=0;$line<$size;$line++)
if($line!=$skip)
fputs($pipe,$data[$line]);
else
$strip_return=TRUE;

return $strip_return;
}

cutline('deleteFromHere.txt',7); // deletes line 7 in deleteFromHere.txt

?>

$flags = FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES;
$lines = file('path/to/file.txt', $flags);
// VALIDATE: $line >= 1
unset($lines[$line - 1]);// 0-based

file_put_contents('path/to/file.txt', implode(PHP_EOL, $lines));

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.