[英]php “glob” pattern help
我有一個sitemaps目錄,所有目錄都以數字結尾。
我有一個自動站點地圖生成器腳本,需要使用glob計算文件夾中的所有站點地圖。
目前我被困在這里。
我需要的是計算所有包含數字的站點地圖文件,所以我不計算那些沒有任何數字的文件。
例如,在我的root中我有一個sitemap.xml文件,然后我還有sitemap1.xml,sitemap2.xml,sitemap3.xml等...
當文件名包含像“sitemap1.xml”這樣的數字時,我需要使用glob才返回true。
這可能嗎?
$nr_of_sitemaps = count(glob(Sitemaps which contains numbers in their filenames));
謝謝
要以<digit>.xml
結尾的文件為glob,您可以使用如下模式:
*[0-9].xml
因此,為了計算匹配,PHP可能看起來像:
$count = count(glob('/path/to/files/*[0-9].xml'));
如果你想要匹配文件的超精細控制(比glob可以給出的更多),你可以使用一般模式然后使用preg_grep
過濾生成的數組到你想要的。
$count = count(
preg_grep(
'#(?:^|/)sitemap\d{1,3}\.xml$#',
glob('/path/to/files/sitemap*.xml')
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.