(PHP 4 >= 4.3.0, PHP 5, PHP 7)
fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
$kalıp
, string $dizge
[, int $seçenekler
= 0
] ) : bool
fnmatch() işlevi, belirtilen
dizge
'nin belirtilen dosya kalıbı ile eşleşip
eşleşmediğine bakar.
kalıp
Kabuk dosya ismi kalıbı.
dizge
Sınanacak dizge. İşlev özellikle dosya isimleri için yararlı olsa da sıradan dizgeler için de kullanılabilir.
Ortalama bir kullanıcı, kabuk dosya ismi kalıplarını veya bunların en basit biçimleri olan '?' ve '*' karakterlerini kullanabilir. Bu bakımdan, programcı olmayan kullanıcılar için preg_match() yerine fnmatch() kullanımı daha uygun olabilir.
seçenekler
Belirtilebilecek seçenekler:
Seçenek |
Açıklama |
---|---|
FNM_NOESCAPE | \ karakteri kalıplarda özel olarak ele alınmaz. Normalde, \ kendinden sonraki karakteri önceler; bu seçenek etkinse bu özellik kapatılır, böylece sadece kendisiyle eşleşebilir. Önceleme etkin olduğunda, \? kalıbı sadece ? karakteri ile eşleşir, çünkü kalıp içindeki soru işareti sıradan bir karakter gibi işlem görür. Eğer FNM_NOESCAPE seçeneği etkinse, \ sıradan bir karakterdir. |
FNM_PATHNAME | Bu POSIX.2 ile gelen bir FNM_FILE_NAME takma ismidir. |
FNM_PERIOD |
. karakteri dosya isimlerinin başında ise özel
olarak ele alınır. Bu seçenek etkinse ve .
karakteri
FNM_PERIOD ve FNM_FILE_NAME
birlikte belirtilmişse, . karakterinin
|
FNM_CASEFOLD |
dizge ile kalıp
karşılaştırılırken harf büyüklüğüne bakılmaz.
|
Eşleşme sağlanmışsa TRUE
aksi takdirde FALSE
.
Sürüm: | Açıklama |
---|---|
5.3.0 | İşlev Windows platformlarında da kullanılabilir oldu. |
Örnek 1 - Bir renk isminin bir kabuk dosya kalıbıyla eşleştirilmesi
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "some form of gray ...";
}
?>
Bu işlev şimdilik POSIX uyumlu olmayan sistemlerde kullanılamamaktadır.