Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wczytywanie pliku txt w php
mozart2008
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 6.05.2010

Ostrzeżenie: (0%)
-----


Witam.
Jak mogę wczytać 5 ostatnich linijek z jakiegoś pliku tekst.txt?
wiem jak wczytac całość ale nie mam pojęcia jak zrobić aby wczytało mi 5 linijekt tekstu a to an dodatek ostatnich....
Z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kiler129
post
Post #2





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Mała uwaga - sposób podany przez ciebie jest dobry ALE dla małych plików. Dla większych spowoduje wysypanie się php z powodu braku pamięci.
Dla większych plików użyj czegoś nad czym ja ostatnio się głowiłem: http://forum.php.pl/index.php?showtopic=159639
Konkretnie chodzi o ten kod:

  1. function unix_tail($file, $num_to_get=10)
  2. {
  3. $fp = fopen($file, 'r');
  4. $position = filesize($file);
  5. $chunklen = 4096;
  6. if($position-$chunklen <= 0 )fseek($fp,0);
  7. else fseek($fp, $position-$chunklen);
  8. $data="";$ret="";$lc=0;
  9. while($chunklen > 0)
  10. {
  11. $data = fread($fp, $chunklen);
  12. $dl=strlen($data);
  13. for($i=$dl-1;$i>=0;$i--){
  14. if($data[$i]=="\n"){
  15. if($lc==0 && $ret!="")$lc++;
  16. $lc++;
  17. if($lc>$num_to_get)return $ret;
  18. }
  19. $ret=$data[$i].$ret;
  20. }
  21. if($position-$chunklen <= 0 ){
  22. fseek($fp,0);
  23. $chunklen=$chunklen-abs($position-$chunklen);
  24. }else fseek($fp, $position-$chunklen);
  25. $position = $position - $chunklen;
  26. }
  27. fclose($fp);
  28. return $ret;
  29. }


Jeśli chodzi o odsyłanie do google najczęściej robią to ludzie który siedzą na forum tylko po to aby pokazać jacy to z nich pro koderzy (IMG:style_emoticons/default/winksmiley.jpg)
Pomijam przypadki gdzie pytania są ewidentnie idiotyczne typu jak używać mysql_query();

Ten post edytował kiler129 19.10.2010, 00:34:42
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 08:30