0

如果我有一个名为 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;
}
4

2 回答 2

2

小文件方法:这允许您在保存文件之前对文件的内容做一些事情:

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

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

for($i = 0; $i < 100; $i++) {
    copy('file.html', 'file'.$i.'.html');
}
于 2012-08-30T11:13:31.060 回答
0

只需循环运行您的代码:

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

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

于 2012-08-30T11:13:41.143 回答