Как очистить память после того, как file_get_contents выполняется в php

Я пытаюсь добавить некоторые переменные в пару файлов, которые уже имеют некоторый контент.

Я использую file_get_contents для копирования содержимого определенного файла, а затем с помощью file_put_contents для вставки значений переменных вместе с существующим содержимым в этот файл.

Проблема в том, что в первом случае он работает правильно, но во второй файл он вставляет все, что было сохранено в памяти. Он помещает все содержимое из первого файла вместе с содержимым второго файла.

Есть ли способ, которым я могу очистить память до того, как будет выполнен следующий файл file_get_contents. Или мое понятие здесь неверно.

Вот мой код …

<?php if ($_POST["submit"]) { $ip = $_POST['ip']; $subnet = $_POST['subnet']; $gateway = $_POST['gateway']; $hostname = $_POST['hostname']; $domain = $_POST['domain']; $netbios = $_POST['netbios']; $password = $_POST['password']; $ipfile = 'one.txt'; $file = fopen($ipfile, "r"); $ipfileContents = fread($file, filesize($ipfile)); $ipcontent = "ip='$ip'\n"; $ipcontent .= "netmask='$subnet'\n"; $ipcontent .= "gw='$gateway'\n"; $conten = $ipcontent . $ipfileContents; $file = fopen($ipfile, "w"); fwrite($file, $ipfileContents); fclose($file); $ipsh = shell_exec('sh path/to/CHANGE_IP.sh'); $hostfile = 'two.txt'; $fileh = fopen($hostfile, "r"); $hostfileContents = fread($fileh, filesize($hostfile)); $hostcontent = "ip='$ip'\n"; $hostcontent .= "m_name='$hostname'\n"; $hostcontent .= "fqdn='$domain'\n"; $conten = $hostcontent . $hostfileContents; $fileh = fopen($hostfile, "w"); fwrite($fileh, $hostfileContents); fclose($fileh); $hostsh = shell_exec('sh path/to/MODIFY_HOSTS.sh'); } ?> 

Я попытался отключиться, но не работал

 $ipfilecontents->__destruct(); unset($ipfilecontents); 

ОБНОВИТЬ:

file_get_contents & file_put_contents имеет некоторые проблемы с параллелизмом. Поэтому мне пришлось изменить свой метод на fopen/fwrite/fclose и он работал безупречно. Спасибо за вашу помощь Хасинто.