Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] cos w stylu skanera...
Forum PHP.pl > Forum > Przedszkole
andixxx
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
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 tongue.gif

Pozdrawiam,
nasty
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
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 winksmiley.jpg
Cysiaczek
Nie nasty_psycho - to nie jest głupi pomysł - jak nie ma CRONA, to sam raz biggrin.gif
Ewentualnie niech każdy użytkownik sprząta po sobie, jeśli takie pliki tworzyli użytkownicy w danej sesji.

Pozdrawiam,
andixxx
tak wszystko ladnie pieknie:) ale nie wiem jak sie do tego zabrac.. sadsmiley02.gif heh jak sie do tego zabrac smile.gif?
Ludvik
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
No i jeszcze jest FilterIterator (wlasnie tu powinienes sprawdzac czy to plik i czy ma odpowiedia nazwe).

Ale na poczatek zrob to bez OOP smile.gif
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.