有什么办法在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”扩展名表示“one”作为文件名,具体取决于在干草堆中找到值。有没有办法做到这一点,而不是为每个文件名做一个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);
}
谢谢。它仍然没有把data.txt的内容放入one.txt和three.txt(在我的问题中的数组值中给出)。它就像$ filename =“$ value.txt”;不工作。 – user1447726
也许在循环中添加一个'var_dump($ filename);',看看正确的文件名是否被回显出来。 – Niko
我懂了!谢谢!我作为编辑发布了我的最终代码。 – user1447726