有什麼辦法在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