title image


Smiley preg_match verbessern??
Hallo,

ich möchte mit einem script ein Verzeichnis nach neuen Dateien überwachen

Das Script soll immer nur für einen bestimmten User reagieren.

Wenn also der User "Heinz" eingeloggt ist und in dem überwachten verzeichnis kommt eine Datei

Heinz__@\#%&__testdatei.txt



an, soll z.b. eine Meldung kommen.

Das klappt auch soweit mit unten stehendem Regex Ausdruck.



while ($entry = readdir($dh)){

if (($entry != "") AND ($entry != ".") AND ($entry != "..")){

$regex = "#($USER__@\#%&__)(.*?)#";

if ( preg_match($regex,$entry,$parts)){

echo "Datei für User $USER gefunden ";

}



Nach verschiedenen Test habe ich jedoch festgestellt, dass das Script auch reagiert, wenn dem Dateinamen die vorderen beiden _ (Unterstrich) fehlen, also;

Heinz@\#%&__testdatei.txt



Wie kann man das noch verfeinern oder verbessern?

Ich habe das Suchmuster "__@#%&__" gewählt weil ich denke, dass dies vermutlich äußerst selten in einem Dateinamen vorkommt.



gruss und danke

hawk

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: