我有很多文件块,我需要使用PHP fopen函数合并它们。但是,我对内存使用感到担忧。 例如,我在split_hash.txt
中列出了约100个文件,每个文件约为100MB。在这里,我将它们结合在一起:将fopen()的内存使用量合并到一起的许多文件
<?php
$hash = file_get_contents("split_hash.txt");
$list = explode("\r\n",$hash);
$fp = fopen("hadoop2.zip","ab");
foreach($list as $value){
if(!empty($value)) {
$handle = fopen($value,"rb");
fwrite($fp,fread($handle,filesize($value)));
fclose($handle);
unset($handle);
}
}
fclose($fp);
echo "ok";
会花费我很多的记忆吗?
我觉得你最大的挑战将是脚本执行时间。 – Scuzzy
会花费很多时间吗?我正在处理分块上传,因此它必须快速。 –
这将取决于您的基础设施,例如,本地SSD上的数据服务器将快速执行文件系统激活。我认为你只需要尝试一下,看看需要多长时间处理100个文件100个文件 – Scuzzy