2017-08-02 6 views
0

いくつかのフォルダを選択して配列にし、その内部を数えてその中の画像の量を動的に表示する必要があります。そこから正規表現でフォルダを選択する方法

$gallery_path = "assets/images/content/referenzen/gallery"; 

私はそうのように、$のgallery_path内の特定のフォルダ内のすべての画像を数える:

$refA_path = "assets/images/content/referenzen/gallery/refA"; 
    $refA = glob($refA_path . '/*.{jpeg,jpg,png}', GLOB_BRACE); 
    echo count($refA); 

私はある別のフォルダを持っている

は今、私はパス変数を持っていますrefA、refAbなどの名前が付けられています。私がしたいのは、ref {numberまたはletter}という名前のフォルダだけを選択することです。何かのように:

$refA_path = "assets/images/content/referenzen/gallery/{all folders with ref*}"; 

これを達成するために正規表現のようなものはありますか?

+1

[glob関数](http://php.net/manual/en/function.glob.php)のパターンマッチングを使用するだけでは不十分ですか? – xander

+0

はい@xanderこれは確かに正しかった、それは分かっていませんでした。 – d8ta

答えて

2

GLOB_ONLYDIRオプションを使用して​​3210も使用できます。

$paths_array = glob("assets/images/content/referenzen/gallery/ref*", GLOB_ONLYDIR); 
+1

globには、名前に数字が存在する必要がある場合、 'ref [0-9] *'のような文字グループマッチングを利用することもできます。 – xander

+1

@xander確かに!しかしOPの名前は "refA"と "refAb"であるため、名前は "ref {number or letter}"のようになりますが、1文字だけではありません。だから私は最良の方法は 'ref *'にマッチすると思った。 – nanocv

+1

はい、ref *はそこにある12個のフォルダを正確に選択し、ほかのすべてのファイルをそのまま残します。それで、私はそれがどのように必要なのか動作します。 GLOB_ONLYDIR tippをありがとう。私は今までこれを知らなかった。 – d8ta

関連する問題