Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Echo - 4 pierwsze linijki pliku
Forum PHP.pl > Forum > Przedszkole
Patricko
Witam

Mam taki skrypt:

  1. if ($handle = opendir('art/')) {
  2. while (false !== ($file = readdir($handle))) {
  3. if(is_file('art/'.$file) && (($kiedy=filemtime('art/'.$file))>$najnowszy)){
  4. $najnowszy=$kiedy; $najnowszy_nazwa=$file;
  5. }
  6. }
  7. closedir($handle);
  8. }
  9.  
  10.  
  11.  
  12.  
  13. $myfile = 'art/' . $najnowszy_nazwa;
  14. $file = fopen($myfile, "r") or exit("Unable to open file!");
  15.  
  16. $lines_read = 0;
  17. $first_line = '';
  18.  
  19.  
  20. while(!feof($file) && $lines_read < 1) {
  21. $lines_read++;
  22. $first_line = fgets($file);
  23. }
  24. fclose($file);
  25.  
  26. if($lines_read == 1) {
  27. echo "$first_line";
  28. } else {
  29. echo "Could not read from file";


I nie wiem jak go przerobic zeby pokazywal nie 1 linijke pliku - a np. 3-4 linijki. Pewnie zadanie jest banalne - ale kombinuje kombinuje i nic.
b4rt3kk
Odczyt pliku linia po linii:

  1. <?php
  2.  
  3. $lines = file('myfile.txt');
  4.  
  5. foreach($lines as $line)
  6. {
  7. echo($line);
  8. }
  9.  
  10. ?>
wpaski
jeśli chcesz określoną ich liczbę trzeba dodać:
  1. <?php
  2. $lines = file('plik.txt');
  3.  
  4. $i=0;
  5. foreach($lines as $line) {
  6. if($i<3) {
  7. echo $lines[$i];
  8. $i++;
  9. }
  10. }
  11. ?>
redeemer
@wpaski: Przydałoby się jeszcze wyskoczyć z tej pętli, bo po co dalsze "puste" przebiegi?
  1. for($i=0,$linesCount=count($lines); $i<4 && $i<$linesCount; $i++) {
  2. echo $line;
  3. }
A w ogóle to bym raczej tutaj zastosował fopen + fgets (tak jak ma autor), bo funkcja file niepotrzebnie wczytuje wszystkie linie z pliku, a chcemy wyświetlić tylko pierwsze 4:
  1. ...
  2. $lines = array();
  3. while(!feof($file) && $lines_read++ < 4) {
  4. $lines[] = fgets($file);
  5. }
  6. fclose($file);
  7.  
  8. foreach($lines as $line) {
  9. echo $line;
  10. }


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.