For longer files:
<?php
function rfopen($path, $mode)
{
$fp = fopen($path, $mode);
fseek($fp, -1, SEEK_END);
if (fgetc($fp) !== PHP_EOL) fseek($fp, 1, SEEK_END);
return $fp;
}
function rfgets($fp, $strip = false)
{
$s = '';
while (true) {
if (fseek($fp, -2, SEEK_CUR) === -1) {
if (!empty($s)) break;
return false;
}
if (($c = fgetc($fp)) === PHP_EOL) break;
$s = $c . $s;
}
if (!$strip) $s .= PHP_EOL;
return $s;
}
$file = '/path/to/your/file.txt';
$src = rfopen($file, 'rb');
$tgt = fopen("$file.rev", 'w');
while ($line = rfgets($src)) {
fwrite($tgt, $line);
}
fclose($src);
fclose($tgt);
// rename("$file.rev", $file);
Replace '/path/to/your/file.txt' with the path to your file.
Uncomment the last line to overwrite your file.