我有很多文件塊,我需要使用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