php中的 rename() 函数可以对指定的文件进行重命名操作,那具体的操作方法是怎么样的呢?

php中的 rename() 函数介绍

rename():对文件或目录进行重命名的操作,成功返回TRUE,失败返回FALSE

语法:

rename(oldname,newname,context)

参数:

oldname:必需。要重命名的文件或目录

newname:必需。重命名后的文件或目录名称

context:可选。规定文件句柄的环境。context 是可修改流的行为的一套选项。

php 对文件进行重命名的方法

1、php rename() 修改文件名

例1:

if(rename('search.php','sear.php')){
    echo '修改成功!';     
}else{
    echo '修改失败!';
}

例2:

if(rename('post/a.php','post/c.php')){
    echo '修改成功!';     
}else{
    echo '修改失败!';
}

2、php rename() 修改文件名以及文件名的后缀

例:

if(rename('sear.php','sear.txt')){
    echo '修改成功!';     
}else{
    echo '修改失败!';
}

3、php rename() 只修改文件名的后缀

if(rename('sear.txt','sear.php')){
    echo '修改成功!';     
}else{
    echo '修改失败!';
}

4、php rename() 修改目录的名称

if(rename('post','article')){
    echo '修改成功!';     
}else{
    echo '修改失败!';
}

php 对文件进行批量重名命的方法

php自定义一个批量重命名的函数

/**
 * # php 对一个目录下的所有文件进行重命名
 * @param string $dirname 文件夹路径 
 * @host http://www.feiniaomy.com
 */
function dir_Rename($dirname){
    if(!is_dir($dirname)){
        echo "{$dirname}不是一个有效的目录!";
        exit();
    }
    $handle = opendir($dirname);
    $i = 1;
    while(($fn = readdir($handle))!==false){
        if($fn!='.'&&$fn!='..'){
            echo "<br>将名为:".$fn."\n\r";
            $curDir = $dirname.'/'.$fn;
            if(is_dir($curDir)){
                fRename($curDir);
            }else{
                $path = pathinfo($curDir);
                //这里是重命名后的新名子,自己可以修改一下
                $newname = $path['dirname'].'/'.$i.'.'.$path['extension'];
                echo "替换成:".$i.'.'.$path['extension']."\r\n";
                rename($curDir,$newname);
                $i++;
            }
        }
    }
}

函数调用:

$dir = 'post/article';
dir_Rename('post');