Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalne usuwanie wszystkich plików z katalogu, Usuwanie 30 tys plików...
xPatryk
post
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 9.01.2004

Ostrzeżenie: (20%)
X----


Witam,

w jaki sposób napisać skrypt, który jak najmniej obciążając serwer (będzie wywoływany raz dziennie, ok. godz 2-3 nad ranem) usunie z katalogu tymczasowego ok. 30 tys plików tymczasowych (każdy 32 bajtowy) ?

Pozdrawiam i proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
xPatryk
post
Post #2





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 9.01.2004

Ostrzeżenie: (20%)
X----


Hmmm... może być i tak, ale ile średnio trwa usunięcie 100 plików ?

poza tym, pliki muszą zniknąć w miarę w jednym momencie, gdyż jeżeli pozostawałyby dłużej, stanowiłoby to zagrożenie dla bezpieczeństwa serwisu.. No powiedzmy, że maksymalnie powinny istnieć 2-3 minuty... (czas tworzenia i usuwania byłby losowy, w nocy, tak, aby nie było nigdy wiadomo, kiedy istnieją a kiedy nie...


I następna kwestia...
tak myślę, że aby usunąć pliki "po kolei" trzeba by było wczytać do tablicy ich listę (np. przez maptree i File_Find (z klasy PEAR) a następnie po kolei je usuwać w pętli, ale to zapcha sporo zasobów...

A do unlink'a nie podam raczej jako nazwe pliku *.* ani *... jaka metode wybrac?

Pozdrawiam
Patryk


Hmmm....

rozwiązałem to chwilowo tak, ale to działa strasznie wolno i obciąża procesor ;/ Można prosić inną propozycję ?

  1. <?php
  2.  
  3. foreach (glob("*.pin") as $filename) {
  4.    unlink($filename);
  5. }
  6.  
  7. ?>


Ten post edytował xPatryk 6.01.2006, 00:06:56
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: 25.12.2025 - 19:06