我需要找到重複的文件並將它們寫入txt文件中。我幾乎得到它,但我無法解決4件事。PHP檢查DIR中的重複文件並將它們寫入txt
- 每個新值都必須寫成一個新行。
- 數組必須是[fileName] =>「fileHash」(Watch p.3)
- 寫入txt文件名(鍵),而不是fileHash。
爲什麼$文件的前2個值是。和..?它們等於一個空字符串。
//get a files array $files = scandir(__DIR__); //key=value $result = array_combine($files, $files); //get an array of filee hashes $hashArr = []; foreach ($result as $file) { $file = md5_file($file); array_push($hashArr, $file); } //search for duplicates $arr_unique = array_unique($hashArr); $arr_duplicates = array_diff_assoc($hashArr, $arr_unique); //write duplicates in a file $result = "values.txt"; file_put_contents($result,$arr_duplicates);
在 「values.txt」 我有
a9f238ec88777a129c1b6ad4ceeef77c57c90c48a63620442e5bddb2764585cb
我試圖做這樣的事情
$fp = fopen('values.txt', 'a+');
fwrite($fp, $arr_duplicates."\r\n");
fclose($fp);
//or
file_put_contents($result,$arr_duplicates . "\r");
,但它在我的TXT中寫入「數組」而不是值。 任何幫助將不勝感激。
該文件。指向當前目錄並且..指向上面的目錄。您可以將其用於導航。 – killexe
'array'是一個**數組**而不是一個字符串。使用'serialize()'將數組轉換爲一個字符串。 – Richard
謝謝你們,我知道了 – myjuneisforyou