Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak wyświetlic kilka lini za pomocą fgets ?
Forum PHP.pl > Forum > Przedszkole
kiler129
Mam sobie taki skrypt:

  1. <?php 
  2. $serwer="127.0.0.1"; 
  3. $sock = fsockopen ($serwer, 110); 
  4.  
  5.  $x=fgets($sock); 
  6.  echo "<br>$x<br>"; 
  7.  
  8. fputs($sock,"USER testrn");
  9.  
  10.  
  11. fputs($sock,"PASS testrn");
  12.  $x=fgets($sock); 
  13.  echo "<br>$x<br>";
  14.  
  15. fputs($sock,"LISTrn");
  16.  $x=fgets($sock); 
  17.  echo "<br>$x.$x<br>"; 
  18.  
  19.  
  20. fputs($sock,"QUITrn");
  21.  $x=fgets($sock); 
  22.  echo "<br>$x<br>"; 
  23.  
  24. fclose($sock); 
  25. ?>


Łączy on sie z POP3 a następnie wydaje komędę LIST i tu jest problem.
Wynik komędy powinien wyglądac np. tak:

Kod
+OK
1 1563
2 1918


Niestety skrypt pokazuje mi tylko +OK i nic więcej po komędzie list. Jak wyświetlić całość ?
BiRetis
Jeżeli nie podajesz długości wiersza dla funkcji fgets to domyślnie przyjmuje ona 1024 bajty. To oczywiście nie jest przyczyną błędu twojego skryptu, błędem jest założenie iż fgets czyta cały plik, wprost przeciwnie czyta tylko jedną linię z pliku tekstowego czyli jeden wiersz...

  1. <?php
  2. while(!feof($plik_otwarty)){
  3. $linia = fgets($plik_otwarty, $dlugosc_wiersza);
  4. }
  5. ?>


P.S. równie dobrze możesz użyć fread, funkcje odczytu i zapisu plików działają przy gniazdach w PHP
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.