Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak to jest z iloscia plikow?
Forum PHP.pl > Forum > Przedszkole
dobryvinyl.com
witam, bede mial galerie w ktorej w pewnym momecie moze byc nawet 100 000 plikow w jednym katalogu. Jak bardzo wpłynie to na czas dzialania takiego skryptu:

  1. <?
  2. $katalog=&#092;"test/znajdz/gfx\";
  3. if($d = opendir('./gfx/'))
  4. {
  5.    while(($f = readdir($d)) !== false)
  6.    {
  7.       if(preg_match('/_id$id_/', $f))
  8.       {
  9.          $i++;
  10.      print &#092;"<img src=\"/$katalog/$f\">\";
  11.          echo $f.&#092;"<br>n\";
  12.       }
  13.    }
  14.    closedir($d);
  15.    echo '<BR><b>Ilosc plikow:</b> '.$i;
  16. }
  17. ?>


Czy to wogole jest dobry pomysl? Prosił bym o Wasze opiniei ewentualnie jakies pomysly.
hwao
Na skryptu to nie znacznie smile.gif bo te funkcje malo czasu zajmuja, gozej z ladowaniem ( i tracisz miesieczy transfer na wysylanie nie potrzbnych danych).

Lepiej do tego dodac stronicowanie (podzial na strony np po 20)
SongoQ
@hwao
Cytat
Na skryptu to nie znacznie  bo te funkcje malo czasu zajmuja
Wydaje Ci sie. Jesli masz bardzo duza liczbe plikow w katalogu tak potrafi tak zamulic ze to bedzie bardzo duzy problem. Lepiej jest podzielic na podkatalogi lub stworzyc strukture drzewiasta. To nie zalezy od stystemu.

@dobryvinyl.com Radze wczesniej poczytac o ograniczeniach systemowych co do ilosci plikow w katalogu a czas wyszukiwania pliku.
dr_bonzo
Widzialem ze robi sie to tak:

"jakistamplik" jest w:
..../j/a/k/
itd...
SongoQ
Jesli struktura podchodzi pod odpowiednia strukture to mozesz Tworzyc YYYY/MM/DD
Pepis
Aby obiczyć przybliżony czas egzekucji jakiegokolwiek skryptu, wystarczy pobrać ilość milisekund [lub sekund] na początku i na końcu skryptu, a potem obliczyć różnicę.

Generalnie, to takim skryptem nie zablokujesz serwera, ale gdyby to było np rekursywne kasowanie katalogów, mogłoby to trwać ponad 30 sekund, a wtedy...
Zresztą zależy od konfiguracji.

Napisałem kiedyś skrypt do zarządzania plikami i katalogami na serwerze z poziomu przeglądarki. Rzadko mi się wiesza, chyba że kasuje coś co ma drzewiastą strukturę i ponad 2 giga.

Jeżeli kogoś by ten skrypt interesował, dostępny jest na stronie: http://wesola.net/~pepis/projects.php
SongoQ
Hm zalezy czego 2GB jesli to sa filmy to roznicy nie ma, a jesli to sa pliki po 1 KB to juz jest. Ogolnie struktura drzewiasta przyspiesza wyszukiwanie odpowiedniego pliku. Z tym kasowaniem to calkiem mozliwe.

Mozesz napisac jaki system i parametry sprzetu?questionmark.gif
Pepis
To były pojedyńcze pliki, kilka tysięcy plików poumieszczanych w losowych katalogach i podkatalogach. Chodzi o to że to były małe pliki.

Sorry ohmy.gif , nie chodziło mi o kasowanie a o przenoszenie... Przenoszenie trwa dłużej, jako że najpierw musimy plik skopiować, a dopiero potem go usunąć.
dobryvinyl.com
Dziekuje za pomysly i opisy. Cos bede musial wymyslec.
SongoQ
Jedynie co moge Ci doradzic to przemyslenie wszystkigo i kilka testow i sam ocenisz co i jak ma byc.

Ostatnio projektowalismy skladowanie dokumentow i po testatch i przemysleniach wyszlo ze najlepszym rozwiazaniem bedzie struktura w katalogach zaleznych od dat. Mozesz takie rozwiazanie wziasc pod uwage.
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.