我如何将文件放在开头?

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

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

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

有任何想法吗?

回答:

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) {

fwrite($handle, $cache_new);

$cache_new = $cache_old;

$cache_old = fread($handle, $len);

fseek($handle, $i * $len);

$i++;

}

?>

以上是 我如何将文件放在开头? 的全部内容, 来源链接: utcz.com/qa/399774.html

回到顶部