Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyszukiwanie fraz w nazwach plików na serwerze
nowicjuszek
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.07.2015

Ostrzeżenie: (0%)
-----


Witam, potrzebowałbym skrypt który kilkukrotnie sprawdzi nazwę pliku.

Mam na przykład pliki na serwerze o nazwach:

20150203_internet_aktywacja.doc
20150303_internet_blokada.doc
20150402_uprawnienia_aktywacja.doc
...

Chodzi mi najpierw o sprawdzenie czy istnieją pliki na serwerze zawierające frazę "internet", czyli w tym przypadki dwa pliki:

20150203_internet_aktywacja.doc
20150303_internet_blokada.doc

Następnie sprawdzenie który plik ma późniejszą datę w nazwie, czyli tutaj:

20150303_internet_blokada.doc

i sprawdzenie czy na przykład jest to "blokada", czy "dostęp".

Mam funkcję która wyświetla pliki na serwerze:

  1. <?php
  2. foreach(new DirectoryIterator('/home/www/strona/dokumenty/') as $file)
  3. if(!$file->isDot())
  4. echo $file->getFilename() . '<br />';
  5. ?>


Aczkolwiek nie wiem jak dalej działać na tych plikach, pobrać odpowiednie nazwy i w nich wyszukiwać konkretnych fraz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nowicjuszek
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.07.2015

Ostrzeżenie: (0%)
-----


Dzięki Comandeer. Napisałem taki skrypt. Po sprawdzeniu działa, pytanie czy jest on prawidłowo skonstruowany. Nazwa plików ma taki wzorzec: data_internet_blokada/aktywacja.

  1. <?php //wyszukiwanie plików z aktywcją
  2. $pracownik = '000000';
  3. $katalog = 'pracownicy/'.$pracownik.'/';
  4. $internetakt = '*internet*aktywacja*'; //wyszukiwana fraza w nazwie pliku "aktywacja"
  5. $lista = glob($katalog.$internetakt);
  6. foreach ($lista as $akt)
  7. echo "$akt<br>"; //wyświetlnie wszystkich plików z frazą "aktywacja"
  8. $akt = substr($akt,18,8); //wyciągnięcie daty obowiązywania z nazwy pliku
  9. ?>
  10. <br />
  11. <?php //wyszukiwanie plików z blokadą
  12. $internetblok = '*internet*blokada*'; //wyszukiwana fraza w nazwie pliku "blokada"
  13. $lista = glob($katalog.$internetblok);
  14. foreach ($lista as $blok)
  15. echo "$blok<br>"; //wyświetlenie wszystkich plików z frazą "blokada"
  16. $blok = substr($blok,18,8); ///wyciągniecie daty obowiązywania z nazwy pliku
  17. ?>
  18. <br />
  19. <?php
  20. $d = substr($akt,6,2); //wyciągnięcie dnia miesiąca z nazwy pliku
  21. $m = substr($akt,4,2); //wyciągnięcie miesiąca z nazwy pliku
  22. $y = substr($akt,0,4); //wyciągnięcie roku z nazwy pliku
  23. echo $data;
  24. if ($akt > $blok) //porównanie czy data aktywacji jest wyższa od daty blokady i wyświetla poniższą informacje
  25. {echo 'pracownik ma dostęp do internetu od '.$d.'. '.$m.'. '.$y.' r.';}
  26. elseif ($blok > $akt) //porównanie czy data blokady jest wyższa od daty aktywacji i wyświetla poniższą informacje
  27. {echo 'pracownik nie ma dostępu do internetu';}
  28. ?>
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: 10.10.2025 - 04:31