PHP海量文件副本

时间:2012-08-30 11:11:08

标签: php batch-file

如果我有一个名为file.html的文件,我如何通过PHP制作10个此文件的克隆,以便将它们重命名为file1 .... file10?

$filename = 'file.html'
$copyname = 'file2.html'
if ($file = @fopen($copyname, 'x')) {
    // We've successfully created a file, so it's ours.  We'll close
    // our handle.
    if (!@fclose($file)) {
        // There was some problem with our file handle.
        return false;
    }

    // Now we copy over the file we created.
    if (!@copy($filename, $copyname)) {
        // The copy failed, even though we own the file, so we'll clean
        // up by itrying to remove the file and report failure.
        unlink($copyname);
        return false;
    }

    return true;
}

2 个答案:

答案 0 :(得分:2)

小文件方法:这允许您在保存之前对文件内容执行某些操作:

$text = file_get_contents('file.html');
for($i = 0; $i < 100; $i++) {
    file_put_contents('file'.$i.'.html', $data);
}

更大的文件方法:这不允许您在保存之前访问文件的内容,它只告诉底层操作系统进行复制(相当于{b}命令cp file.html file1.html):

for($i = 0; $i < 100; $i++) {
    copy('file.html', 'file'.$i.'.html');
}

答案 1 :(得分:0)

只需循环运行代码:

$filename = 'file.html'
for($i=1; $i<=10; $i++) {
    $copyname = "file$i.html";
    copy($filename, $copyname);
}

随意添加错误检查和处理。