php 批量修改用户,php实现批量修改文件名称

1,批量修改文件夹名称

比如文件夹名称中有特殊符号需要替换为空,如"新!建文件夹"改为"新建文件夹"

代码(需要考虑中文!和英文!)

header("Content-type: text/html; charset=utf-8");

// 利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称

function fRename($dirname) {

if (!is_dir($dirname)) {

echo "{$dirname}不是一个有效的目录!";

exit();

}

$handle = opendir($dirname);

$i = 1;

while (($fn = readdir($handle)) !== false) {

if ($fn != '.' && $fn != '..') {

// 获取的文件夹名称是gb2312编码,输出到页面上需要转换成utf-8编码

$fn_utf8 = iconv("gb2312", "utf-8", $fn);

echo "将名为:" . $fn_utf8 . "    ";

// 将文件夹名称中的中文!和英文!替换为空

$fn_new_utf8 = str_ireplace('!','',str_ireplace('!','',$fn_utf8));

// 将文件夹名称编码由utf-8改为gb2312,重命名文件夹的时候用

$fn_new = iconv("utf-8", "gb2312", $fn_new_utf8);

$curDir = $dirname . '/' . $fn;

$curDir_new = $dirname . '/' . $fn_new;

if (is_dir($curDir)) {

echo "替换成:" . $fn_new_utf8 . "
";

rename($curDir, $curDir_new);

}

}

}

}

// 给出一个目录名称可以是相对路径,也可以是绝对路径

fRename('1');

?>

2,批量修改文件名称

批量修改文件名称,将每个文件夹里面的文件重命名为1,2,3……

header("Content-type: text/html; charset=utf-8");

// 利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称

function fRename($dirname) {

if (!is_dir($dirname)) {

echo "{$dirname}不是一个有效的目录!";

exit();

}

$handle = opendir($dirname);

$i = 1;

while (($fn = readdir($handle)) !== false) {

if ($fn != '.' && $fn != '..') {

$curDir = $dirname . '/' . $fn;

if (is_dir($curDir)) {

fRename($curDir);

} else {

$path = pathinfo($curDir);

$fn_path = $path['dirname'] . '/' . $fn;

// 获取的文件名称和路径是gb2312编码,输出到页面上需要转换成utf-8编码

$fn_path_utf8 = iconv("gb2312", "utf-8", $fn_path);

echo "将名为:" . $fn_path_utf8 . "    ";

// 改成你自己想要的新名字

$fn_path_new = $path['dirname'] . '/' . $i . '.' . $path['extension'];

$fn_path_new_utf8 = iconv("gb2312", "utf-8", $fn_path_new);

echo "替换成:" . $fn_path_new_utf8 . "
";

rename($curDir, $fn_path_new);

$i++;

}

}

}

}

// 给出一个目录名称可以是相对路径,也可以是绝对路径

fRename('demo');

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值