(PHP 4 >= 4.3.0, PHP 5)
fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
fnmatch() işlevi, belirtilen dizge'nin belirtilen dosya kalıbı ile eşleşip eşleşmediğine bakar.
Kabuk dosya ismi kalıbı.
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.
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 dizge dizgesinin ilk karakteri ise kalıp ile eşleşemez. FNM_PERIOD ve FNM_FILE_NAME birlikte belirtilmişse, . karakterinin dizge dizgesinin başında olmasının yanında / karakterini izlediği durumda da eşleşme sağlanır. (Kabuk FNM_PERIOD ve FNM_FILE_NAME seçeneklerini dosya isimleriyle eşleşme ararken birlikte kullanır.) |
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.