我如何将文件放在开头?

在PHP中,如果您写入文件,它将写入该现有文件的末尾。

我们如何在文件的开头加上一个要写入的文件?

我已经尝试过rewind($handle)功能,但是如果当前内容大于现有内容,似乎会覆盖。

有任何想法吗?


胡说叔叔
浏览 427回答 3
3回答

眼眸繁星

file_get_contents解决方案对于大型文件而言效率不高。此解决方案可能需要更长的时间,具体取决于需要添加的数据量(实际上越多越好),但是它不会消耗内存。<?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) {&nbsp; fwrite($handle, $cache_new);&nbsp; $cache_new = $cache_old;&nbsp; $cache_old = fread($handle, $len);&nbsp; fseek($handle, $i * $len);&nbsp; $i++;}?>

森林海

$prepend = 'prepend me please';$file = '/path/to/file';$fileContents = file_get_contents($file);file_put_contents($file, $prepend . $fileContents);

沧海一幻觉

$filename&nbsp; = "log.txt";$file_to_read = @fopen($filename, "r");$old_text = @fread($file_to_read, 1024); // max 1024@fclose(file_to_read);$file_to_write = fopen($filename, "w");fwrite($file_to_write, "new text".$old_text);
打开App,查看更多内容
随时随地看视频慕课网APP