本文實(shí)例講述了PHP實(shí)現(xiàn)的大文件切割與合并功能。分享給大家供大家參考,具體如下:
分割代碼
split.php
?php
$i = 0; //分割的塊編號(hào)
$fp = fopen("hadoop.sql","rb"); //要分割的文件
$file = fopen("split_hash.txt","a"); //記錄分割的信息的文本文件,實(shí)際生產(chǎn)環(huán)境存在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";
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP搭建大文件切割分塊上傳功能示例
- PHP大文件切割上傳功能實(shí)例分析
- php上傳大文件失敗的原因及應(yīng)對(duì)策略
- PHP大文件分割上傳 PHP分片上傳
- 利用discuz實(shí)現(xiàn)PHP大文件上傳應(yīng)用實(shí)例代碼
- PHP文件上傳問(wèn)題匯總(文件大小檢測(cè)、大文件上傳處理)
- php上傳大文件設(shè)置方法
- PHP上傳文件參考配置大文件上傳
- PHP大文件分片上傳的實(shí)現(xiàn)方法
- PHP利用APC模塊實(shí)現(xiàn)大文件上傳進(jìn)度條的方法
- 原生JS上傳大文件顯示進(jìn)度條 php上傳文件代碼
- PHP大文件切割上傳并帶進(jìn)度條功能示例