Avatar billede rasher Nybegynder
27. august 2000 - 18:37 Der er 2 løsninger

Læs sidste linje

Opgaven er følgende: Indlæs sidste linje af en fil til en variabel.

$fil = file($filename);
$nr = sizeof($fil);
$sidstelinje = $fil[$nr];

gør sådan set tricket, men så bliver hele filen læst ind i et array, og hvis nu filen er på et par MB ka\' det jo hurtigt blive tungt at arbejde. Jeg har det på fornemmelsen at løsningen ligger i fopen() og fgets(), men har ikke kunne brygge noget sammen.

Nogen forslag?

TIA Rasher
Avatar billede razor Nybegynder
27. august 2000 - 22:13 #1
// Ikke testet!
$fp = fopen($filename);
while ($input = fgets($fp,10000)) {
  // do nothing
}
print $input;
Avatar billede jinxed Nybegynder
04. september 2000 - 17:13 #2
Hvis filen er stor og du ved hvor lang en linie max er kan du bruge følgene:

$MAX_LINE_LENGTH=1000;
$fp=fopen($filename , \'a+\');
fseek($fp , $MAX_LINE_LENGTH+2 , SEEK_END );
while($input = fgets($fp,$MAX_LINE_LENGTH)){}
echo $input;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester