Porównywanie z maskami wildcard

Założenie: Nauczymy się używać funkcji fnmatch() w PHP do porównywania stringów z wzorcami typu wildcard (znaki wieloznaczne).

Krok po kroku:

  1. Sprawdzenie, czy plik ma rozszerzenie PHP:
  2. 
    $filename = "plik.php";
    if (fnmatch("*.php", $filename)) {
      echo "Plik ma rozszerzenie PHP";
    } else {
      echo "Plik nie ma rozszerzenia PHP";
    }
    				

    Funkcja fnmatch("*.php", $filename) sprawdza, czy $filename pasuje do wzorca “*.php”. “*” oznacza dowolną liczbę dowolnych znaków.

  3. Sprawdzenie nazwy pliku graficznego:
  4. 
    $filename = "img-01.png";
    if (fnmatch("img-??.png", $filename)) {
      echo "Plik jest obrazem";
    } else {
      echo "Plik nie jest obrazem";
    }
    				

    Funkcja fnmatch("img-??.png", $filename) sprawdza, czy $filename pasuje do wzorca “img-??.png”. “?? oznacza dwa dowolne znaki.

  5. Dodatkowe opcje – flaga FNM_NOESCAPE:
  6. 
    $filename = "plik.php";
    if (fnmatch("*.php", $filename, FNM_NOESCAPE)) {
      echo "Plik ma rozszerzenie PHP (bez interpretowania znaków specjalnych)";
    }
    				

    Flaga FNM_NOESCAPE zapobiega interpretowaniu znaków specjalnych jak np. ‘\’ jako znaków ucieczki.

Ten przykład pokazuje podstawowe zastosowanie funkcji fnmatch(). Zachęcamy do dalszego zgłębiania dokumentacji PHP, aby poznać więcej możliwości tej funkcji i innych funkcji operujących na stringach.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *