簡體   English   中英

php“glob”模式幫助

[英]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')
    )
);

另見: http//cowburn.info/2010/04/30/glob-patterns/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM