Как да извадя последните 5 реда от .txt файл.

Smirnoff

Registered
Хора имам записани едни данни в .txt файл
в този вид :


алабала|портокала|Smirnoff|междузвезния|тапанар
тука|пак|нещо|ама|кой|знаекво


И така имам около 10 реда.
Как да извадя последните 5 ?
В смисъл такъв че с функцията explode
да мога да искарам да кажем само 2-вата и 4-тата дума
от всеки ред.
И да стане така
- Алабала - Smirnoff
- тука - нещо

Благодаря ви за отделената помощ.
 
Здравей, Smirnoff! :)

Малко ме объркваш със заглавието, но ако имаш 5 записа и искаш да показваш 1 и 3-тия:


$rm=explode ("|",$red);
echo "- $rm[0] - $rm[2]";

където $rm[] ти е масива, получен след деленето на съответния ред. Масива е числовоиндексиран, по подразбиране първия елемент е с индекс 0, втория с индекс 1, третия с 2 и т.н.
 
$file=file('file.txt');
$broiredove=count($file);

$dumite=array();
for($i=$broiredove-5;$i<=$broiredove;$i++){

$dumite+=$file[$i];

}

$str=implode(" ",$dumite);
echo $str;
 
бе ако съм разбрал правилно ето ти набързо едно много тъпо скриптче ,но нямам време за повече..
Код:
<?
$faila = 'b.txt';
$lq = file($faila);
function trimz($arr){
foreach ($arr as $stupid){
$bla[] = trim($stupid);
}
$bla = array_reverse($bla);
return fivez($bla);
}
function fivez($bb){
for($i=0;$i<5;$i++){
$m[] = $bb[$i];
}
return $m;
}
function explodez ($arr){
$i=0;
foreach ($arr as $row){

$nqh[] = explode("|",$row);
$mlqs[$i][0] = $nqh[$i][0];
$mlqs[$i][1] = $nqh[$i][2];
$i++;
}
return $mlqs;
}
$b = explodez(trimz($lq));
foreach ($b as $value){
echo "$value[0] - $value[1]<br/>".chr(10);
}
?>
 

Back
Горе