ファイル名の変数に基づいてファイルを開く方法は PHP にありますか? 基本的に私がしたいのはこれです:
$file = file('data.txt');
$needle = array("one", "two", "three");
$haystack = array("one", "three");
foreach($needle as $value){
$pos = strpos($haystack, $value);
if($pos !== false){
$filename = "$value.txt";
file_put_contents($filename, $file);
}
$needle の値は、.txt ファイルの名前です。file_put_contents まで動作します。$filename は有効ではありません。これに対する解決策をあちこちで検索し、考えられるすべてを試しました。干し草の山で値が見つかったかどうかに応じて、.txt 拡張子をファイル名として付けた「1」などの配列値をロードします。ファイル名ごとにifステートメントを実行せずにこれを行う方法はありますか? できればループで処理したいです。
パラメータを交換するように編集しました。
編集、新しいコード:
$data = file_get_contents('data.txt');
$needle = array("one", "two", "three");
$haystack = array("one", "three");
$files = array_intersect($needle, $haystack);
foreach ($files as $value) {
$newfilename = "$value.txt";
var_dump($newfilename);
file_put_contents($newfilename, $data);
}