array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.fnmatch.php', 1 => 'fnmatch', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Dosya Sistemi İşlevleri', ), 'prev' => array ( 0 => 'function.flock.php', 1 => 'flock', ), 'next' => array ( 0 => 'function.fopen.php', 1 => 'fopen', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/filesystem/functions/fnmatch.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
fnmatch() işlevi, belirtilen
dosyaismi
'nin belirtilen dosya kalıbı ile eşleşip
eşleşmediğine bakar.
kalıp
Kabuk dosya ismi kalıbı.
dosyaismi
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 |
|
FNM_CASEFOLD |
dizge ile kalıp
karşılaştırılırken harf büyüklüğüne bakılmaz.
|
Örnek 1 - Bir renk isminin bir kabuk dosya kalıbıyla eşleştirilmesi
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "grinin bir tonu ...";
}
?>
Bu işlev şimdilik POSIX uyumlu olmayan sistemlerde kullanılamamaktadır, Windows hariç.