現在、ファイル名を保持する配列を持っていますが、ディレクトリ内でワイルドカード検索を使ってこの配列を通してforeach
にしたいと思います。配列とワイルドカード検索でglob()関数を使用する
3210機能を使用してこれを行うにはどうすればよいですか?
現在、ファイル名を保持する配列を持っていますが、ディレクトリ内でワイルドカード検索を使ってこの配列を通してforeach
にしたいと思います。配列とワイルドカード検索でglob()関数を使用する
3210機能を使用してこれを行うにはどうすればよいですか?
あなたは、単に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を使用してください。
ありがとうございますが、インデックス付き文字列変数の下で$ filename出力を使用する必要があります。私はできますか? –
あなたは 'インデックス付き文字列変数 'で私を失ってしまいましたが、あなたが求めているのであれば、foreachスコープ外の変数にアクセスできます。たとえば、「更新された回答」を参照してください。 – KDOT
ありがとうございました!さようなら –
あなたのコードの一部とこれまでに試したことを共有してください – dimlucas
あなたの試したスクリプトはどこですか? –
<?php foreach(glob($ c。 '。txt')$ filename){ echo "$ filename size" "\ n"; } ?> –