andixxx
19.08.2006, 23:46:03
hej. mam pytanie:) czy da rade zrobic cos w stylu "skanera" ktory automatycznie co jakis czas skanuje wybrany folder na serwerze, a nastepnie usuwa z niego wszystkie pliki z wyjatkiem tych, ktorych nazwa zaczynala by sie od np "ok_".. czyli zalozmy ze mam na serwerze folder o nazwie " pliki" ktory chcialbym aby byl skanowany, a w tym folderze z 10 plikow o roznych, przypadkowych nazwach zalozmy ze:
1.jpg, ok_2.jpg, ok_3.txt, 4.exe, ok_5.doc itd...
i chodzi o to zeby zalozmy raz, na 24h skaner przeszukal folder "pliki", i sam wywalil z niego wszystkie pliki NIE zaczynajace sie od "ok_" a te zaczynajace sie od slowa "ok_" aby zostaly nie ruszone ?
jak tak to w jaki sposob?
Cysiaczek
19.08.2006, 23:54:37
Napisz taki skrypt, który usuwa takie pliki, a nastepnie, jeśli masz możliwość dodaj go do CRONA (coś jak zaplanowane zadania w windows), o ile twój hosting na to pozwala (zakładam, że serwer to jakiś unix).
Jeśli nie masz dostepu do CRONA, to będziesz musiał uruchamiać skrypt ręcznie

Pozdrawiam,
nasty
19.08.2006, 23:59:21
Cytat
to będziesz musiał uruchamiać skrypt ręcznie
W sumie to prawda, ale moze to glupi pomysl, ale mozesz np, za kazdym razem jak ktos wejdzie na strone to wykonywac ten skrypt, albo np, co 2,10,100 wejsc ten skrypt sie wlaczy...
andixxx
20.08.2006, 00:02:20
o tym CRONie pierwsze co slysze a co do tego aby skrypt odpala sie po ejsciu na jakas strone wlasnie teraz mi przyszlo do glowy
Cysiaczek
20.08.2006, 00:03:30
Nie nasty_psycho - to nie jest głupi pomysł - jak nie ma CRONA, to sam raz

Ewentualnie niech każdy użytkownik sprząta po sobie, jeśli takie pliki tworzyli użytkownicy w danej sesji.
Pozdrawiam,
andixxx
20.08.2006, 00:12:45
tak wszystko ladnie pieknie:) ale nie wiem jak sie do tego zabrac..

heh jak sie do tego zabrac

?
Ludvik
20.08.2006, 10:01:45
Obiektowo: RecursiveDirectoryIterator, RecursiveIteratorIterator, SplFileInfo. Tworzysz iterator folderu, który Cię interesuje i opakowujesz go w drugi iterator. Potem po kolei sprawdzasz wszystkie pliki. Najpierw metodą isFile(), żeby sprawdzić czy to jest plik. Potem pobierasz jego nazwę z metody getFilename() klasy SplFileInfo. Sprawdzasz czy na początku nazwy znajduje się ciąg "ok_". Np.
substr" title="Zobacz w manualu php" target="_manual. Jeżeli nie ma prefiksu, to kasujesz plik metodą unlink.
Nie-obiektowo:
opendir" title="Zobacz w manualu php" target="_manual,
is_file" title="Zobacz w manualu php" target="_manual...
Dokumentacja SPL.O cronie znajdziesz na necie...
dr_bonzo
20.08.2006, 10:52:15
No i jeszcze jest FilterIterator (wlasnie tu powinienes sprawdzac czy to plik i czy ma odpowiedia nazwe).
Ale na poczatek zrob to bez OOP