龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 分割大文件和合并文件的源代码

时间:2015-04-05 15:42来源:网络整理 作者:网络 点击:
分享到:
分割大文件和合并文件的源代码 1. 将大文分割成多个小文件.2.将分成的小文件还原回原来的大文件.**[PHP]代码**[代码片段(42行)]
  1. 将大文分割成多个小文件.2.将分成的小文件还原回原来的大文件.

[PHP]代码

<?php
$orgFile = 'VirtualBox.exe';
$cacheFileName = 'vbcache';

cutFile($orgFile, 10 * pow(2,20)); //10 * pow(2,20) 就等于 10M 
mergeFile('cache2vb.exe');

function cutFile($fileName,$block) {
    global $cacheFileName;

    if (!file_exists($fileName)) return false;

    $num    = 1;    
    $file   = fopen($fileName, 'rb');
    while ($content = fread($file,$block)) {
        $cacheFile = $cacheFileName . $num++ . '.dat';
        $cfile = fopen($cacheFile, 'wb');
        fwrite($cfile, $content);
        fclose($cfile);
    }
    fclose($file);
}

function mergeFile($targetFile) {
    global $cacheFileName;

    $num = 1;
    $file = fopen($targetFile, 'wb');
    while ($num > 0) {
        $cacheFile = $cacheFileName . $num++ . '.dat';
        if (file_exists($cacheFile)) {
            $cfile = fopen($cacheFile, 'rb');
            $content = fread($cfile, filesize($cacheFile));
            fclose($cfile);
            fwrite($file, $content);
        } else {
            $num = -1;
        }
    }
    fclose($file);    
}
精彩图集

赞助商链接