Die Lösung file_get_contents ist für große Dateien ineffizient. Diese Lösung kann länger dauern, abhängig von der Menge der Daten, die vorangestellt werden müssen (mehr ist eigentlich besser), aber sie wird nicht viel Speicher verbrauchen.
<?php
$cache_new = "Prepend this"; // this gets prepended
$file = "file.dat"; // the file to which $cache_new gets prepended
$handle = fopen($file, "r+");
$len = strlen($cache_new);
$final_len = filesize($file) + $len;
$cache_old = fread($handle, $len);
rewind($handle);
$i = 1;
while (ftell($handle) < $final_len) {
fwrite($handle, $cache_new);
$cache_new = $cache_old;
$cache_old = fread($handle, $len);
fseek($handle, $i * $len);
$i++;
}
?>
Nicht-schöne Art wäre, Dateiinhalte zu lesen, vorzuführen, was auch immer Sie haben, und die gesamte Datei neu schreiben. Nicht sicher, ob es einen anderen Weg gibt. Wenn Sie eine kleine Änderung an einer großen Datei vornehmen, ist das nicht gerade "leicht", aber wenn Sie an einer kleinen 100-Zeichen-Datei arbeiten, ist das in Ordnung. – Warty
Meinst du nicht vorgeben? –
Sie können dies mit UNIX-Tools tun, wenn das eine Möglichkeit ist: http://stackoverflow.com/questions/54365/prepend-to-a-file-one-liner-shell – deceze