![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 28.03.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zastanawiam się jak najszybciej odczytać 10 najstarszych plików, coś w rodzaju polecenia -> np. passthru("ls -t -r | head -n 10",$output); Lecz nie moge użyć funkcji passthru, system, exec, shell_exec. -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 27.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 28.03.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Dzieki temu co napisałeś dostane tylko liste plików, a jak mam z niej sprawdzić który jest najstarszy??
Jeszcze jedna poprawka powiedzmy ze w katalogu mam 200 000 plików. Pytanie jak najszybciej znaleźć 10 najstarszych? -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 27.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
to wydaje mi sie dobrym rozwiazaniem jesli chodzi o date
filectime(); wyświetla dokładny czas utworzenia pliku filemtime(); wyświetla dokładny czas modyfikacji pliku fileatime(); wyświetla datę ostatniego otwarcia pliku no a potem jakies sortowanie |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Otwórz katalog za pomocą opendir. Potem readdir + filectime, do tego jakiś ładny algorytm sortowania i śmiga. Tylko jeden tip. Nie wczytuj wszystkich plików do tablicy! Sortuj na bierząco, trzymaj tylko 10 wpisów w pamięci.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 27.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
No JABOL ladnie zlozyl moje informacje i przekazal dalej
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 5 Dołączył: 20.03.2007 Skąd: Kraków Ostrzeżenie: (30%) ![]() ![]() |
jakby sie uprzec to moznaby trzymac gdzies liste plikow w postaci kopca (tylko trzebaby kontrolowac dodawanie i usuwanie plikow), wtedy wyciagniecie 10 najnowszych wykonywałoby sie w czasie O(1), a dodawanie pliku do listy O(log n)
![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy dobrze zrozumialem ale mam cos takiego do odczytania listy plikow z katalogu
A gdybym się chciał na tym przykładzie wyczytać tylko pliki pdf? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 0 Dołączył: 27.03.2007 Skąd: Osiek almost City ;-D Ostrzeżenie: (0%) ![]() ![]() |
A gdybym się chciał na tym przykładzie wyczytać tylko pliki pdf? Najłatwiej jest się posłużyć funkcją glob() ![]() -------------------- "Hmmm, na wakacje trzeba będzie zacząć zarabiać, co nie? ;-] GTA IV się coraz bardziej zbliża... ;-]"
To się nazywa częsty update sygnaturki. ;-) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:04 |