2016-05-07 4 views
0

現在、ファイル名を保持する配列を持っていますが、ディレクトリ内でワイルドカード検索を使ってこの配列を通してforeachにしたいと思います。配列とワイルドカード検索でglob()関数を使用する

​​3210機能を使用してこれを行うにはどうすればよいですか?

+3

あなたのコードの一部とこれまでに試したことを共有してください – dimlucas

+0

あなたの試したスクリプトはどこですか? –

+0

<?php foreach(glob($ c。 '。txt')$ filename){ echo "$ filename size" "\ n"; } ?> –

答えて

0

あなたは、単にforeachループ内でごワイルドカード検索に一致する各ファイルを抽出するために、これを行うことができます:

$search = "*.txt"; 
// if this is what you mean by indexed string variable? 
$file = array("updated.txt", "new.txt"); 

// getcwd() will retrieve the current directory but is not needed - this just shows 
// that you can supply a directory if you wanted to. 

function MatchFile($file,$search) 
{ 
    $temp = array(); 
    $i = 0; 
    foreach (glob(getcwd().$search) as $filename) : 
     if (count($file) > $i): 
      array_push($temp, ($filename == $file[$i++])? $filename : ""); 
     else: 
      // stops the index overflow error 
      break; 
     endif; 
    endforeach; 
    return $temp; 
} 

foreach (MatchFile($file,$search) as $found): 
    echo $found . " was found!"; 
endforeach; 

これはopendir();だけの交換です。

まだわからない場合や、さらに多くのフラグを知る必要がある場合は、linkを使用してください。

+0

ありがとうございますが、インデックス付き文字列変数の下で$ filename出力を使用する必要があります。私はできますか? –

+0

あなたは 'インデックス付き文字列変数 'で私を失ってしまいましたが、あなたが求めているのであれば、foreachスコープ外の変数にアクセスできます。たとえば、「更新された回答」を参照してください。 – KDOT

+0

ありがとうございました!さようなら –

関連する問題