首页 > php文件操作 > php创建文件时存在文件自动重命名实现方法

php创建文件时存在文件自动重命名实现方法

php创建文件时存在文件自动重命名实现方法,实例代码如下:

<?php
function createfile($filename, $content = '') {
    $fp = file_put_contents($filename, $content);
}
// 要创建的文件名称
$filename = 'www.txt';
if (file_exists($filename)) {
    // 打开当前目录
    $handle = opendir('./');
    $fileinfo = pathinfo($filename);
    //print_r($fileinfo);
    $files = array();
    while (false !== ($file = readdir($handle))) {
        if (preg_match_all("/{$fileinfo['filename']}(d*).{$fileinfo['extension']}/i", $file, $match)) {
            $max = max($match[1]);
            if ($max) {
                $createfile = $fileinfo['filename'] . ($max + 1) . '.' . $fileinfo['extension'];
            } else {
                $createfile = $fileinfo['filename'] . '1.' . $fileinfo['extension'];
            }
        }
    }
    createfile($createfile);
} else {
    createfile($filename);
}
?>

使用临时文件作记数器,方法二,实例代码如下:

<?php
function createfile($filename, $content = '') {
    if (file_exists($filename . '.tmp')) {
        $num = (int)file_get_contents($filename . '.tmp') + 1;
        $fileinfo = pathinfo($filename);
        file_put_contents($fileinfo['filename'] . '(' . $num . ')' . $fileinfo['extension'], $content);
        file_put_contents($filename . '.tmp', $num);
    } else {
        file_put_contents($filename, $content);
        file_put_contents($filename . '.tmp', 1);
    }
}
createfile('test.txt');
?>


文章地址:http://www.phprm.com/wenjian/fs4175.html

转载随意^^请带上本文地址!

标签:php创建文件 自动重命名

发表留言