本文實例講述了PHP實現的大文件切割與合并功能。分享給大家供大家參考,具體如下:
分割代碼
split.php
?php
$i = 0; //分割的塊編號
$fp = fopen("hadoop.sql","rb"); //要分割的文件
$file = fopen("split_hash.txt","a"); //記錄分割的信息的文本文件,實際生產環境存在redis更合適
while(!feof($fp)){
$handle = fopen("hadoop.{$i}.sql","wb");
fwrite($handle,fread($fp,5242880));//切割的塊大小 5m
fwrite($file,"hadoop.{$i}.sql\r\n");
fclose($handle);
unset($handle);
$i++;
}
fclose ($fp);
fclose ($file);
echo "ok";
合并代碼
merge.php
?php
$hash = file_get_contents("split_hash.txt"); //讀取分割文件的信息
$list = explode("\r\n",$hash);
$fp = fopen("hadoop2.sql","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";
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP搭建大文件切割分塊上傳功能示例
- PHP大文件切割上傳功能實例分析
- php上傳大文件失敗的原因及應對策略
- PHP大文件分割上傳 PHP分片上傳
- 利用discuz實現PHP大文件上傳應用實例代碼
- PHP文件上傳問題匯總(文件大小檢測、大文件上傳處理)
- php上傳大文件設置方法
- PHP上傳文件參考配置大文件上傳
- PHP大文件分片上傳的實現方法
- PHP利用APC模塊實現大文件上傳進度條的方法
- 原生JS上傳大文件顯示進度條 php上傳文件代碼
- PHP大文件切割上傳并帶進度條功能示例