Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> glob() vs. RecursiveDirectoryIterator
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Witam. Dziś miałem pad serwisu związany z podliczaniem plików sesji w celu wyświetlenia liczby online.

Skrypt prezentował się bardzo prosto:

  1. <?php
  2. protected function _count()
  3. {
  4. $iSessions = 0;
  5.  
  6. foreach(glob(V_VAR_SESSION . '*') as $sFile)
  7. if((filemtime($sFile) + 600) > time())
  8. ++$iSessions;
  9.  
  10. return $iSessions;
  11. }
  12. ?>


Funkcję glob() zamieniłem na RecursiveDirectoryIterator osadzony (aby sprawdzał pliki rekurencyjnie) w RecursiveIteratorIterator:

  1. <?php
  2. protected function _count()
  3. {
  4. $iSessions = 0;
  5.  
  6. foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator(V_VAR_SESSION)) as $oFile)
  7. if(($oFile->getMTime() + 600) > time())
  8. ++$iSessions;
  9.  
  10. return $iSessions;
  11. }
  12. ?>


Po wykonaniu
Kod
/etc/init.d/apache restart
serwer wstał (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) Właściwie nie wiem dlaczego. Dość dokładnie obserwowałem dyskusję w komentarzach na php.net, ale nie znalazłem odpowiedzi.

Jeżeli ktoś ma jakieś info, proszę się wypowiadać.
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: 24.08.2025 - 13:37