gpt4 book ai didi

php - file_get_contents 或 fopen 用于读取几 MB 的 php ://input?

转载 作者:可可西里 更新时间:2023-10-31 22:47:20 24 4
gpt4 key购买 nike

这似乎是一个重复的问题,但事实并非如此:我通过 php:/input (1-500mb) 收到了数兆字节的数据,我必须将这些数据保存在一个文件中。更性能明智(服务器负载,速度)使用:

file_put_contents($filename, file_get_contents('php://input'))

$input = fopen("php://input", "r");
$temp = tmpfile();
$realSize = stream_copy_to_stream($input, $temp);
fclose($input);

$target = fopen($filename, "w");
fseek($temp, 0, SEEK_SET);
stream_copy_to_stream($temp, $target);
fclose($target);

最佳答案

还有一个更短的版本:copy

  copy("php://input", $filename);

PHP 已经在内部实现了您的代码所做的事情。 (不确定它会产生可衡量的差异)。尽管我不确定您为什么要先创建一个临时文件。

如果输入文件高达 500 MB,则 file_get_contents 方法无论如何都不起作用,因为它必须将所有数据保存在字符串/内存中。

关于php - file_get_contents 或 fopen 用于读取几 MB 的 php ://input?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7846019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com