gpt4 book ai didi

php - file_put_contents 和 file_get_contents 耗尽内存大小

转载 作者:可可西里 更新时间:2023-11-01 00:15:02 24 4
gpt4 key购买 nike

我有一些简单的尝试从一个文件写入另一个文件。

$content=file_get_contents("C:\Users\Borut\Desktop\sql_PW1\mm_ads (1).sql");
file_put_contents("C:\Users\Borut\Desktop\sql_PW1\New", $content);

我读取的文件大约有80M大,php的内存限制是128M,但是我得到一个错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 80739522 bytes)

所以即使我尝试分配的内存实际上更小,内存也会耗尽??我可以通过增加内存限制来完成这项工作,但我想知道为什么它不适用于此限制。

最佳答案

它在 tried to allocate xxxx bytes 中显示的数量是超出 PHP 内存限制的数量。这意味着您在尝试分配额外 ~80MB 时已经用完了 128MB。

即使您可以将文件装入内存,当您知道文件会那么大时,使用 fopen/ 的组合对您来说会好很多fread/fwrite/fclose.

不过,我假设您要做的不仅仅是读取内容并将其写入另一个文件,对吗?因为如果这就是您所需要的,您只需使用 copy 函数即可。

关于php - file_put_contents 和 file_get_contents 耗尽内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713014/

24 4 0
文章推荐: php - 如何根据