PHP:如何重命名文件夹
发布时间:2020-12-13 17:00:27 所属栏目:PHP教程 来源:网络整理
导读:我想问你一件小事. 我在主文件夹中有一些其他文件夹. 这个子文件夹命名为: v1,v2,v3,v4… 我想知道,当我删除其中一个文件夹时, e.g. v2 - so I have v1,v4 如何将所有这些文件夹重命名为 v1,v3. 我试过这段代码,但它不起作用: $path='directory/';$handle=
我想问你一件小事.
我在主文件夹中有一些其他文件夹. 这个子文件夹命名为:
我想知道,当我删除其中一个文件夹时,
如何将所有这些文件夹重命名为
我试过这段代码,但它不起作用: $path='directory/'; $handle=opendir($path); $i = 1; while (($file = readdir($handle))!==false){ if ($file!="." && $file!=".."){ rename($path . $file,$path . 'v'.$i); $i++; } 谢谢! 解决方法
此代码检索名称以“v”开头的所有目录,后跟数字.
目录已过滤:v1,….. 最终目录:v0,v1,….. 如果最终目录需要从v1开始,那么我将再次获取目录列表并再执行一次重命名过程.我希望这有帮助! $path='main_folder/'; $handle=opendir($path); $i = 1; $j = 0; $foldersStartingWithV = array(); // Folder names starts with v followed by numbers only // We exclude folders like v5_2,t2,v6a,etc $pattern = "/^v(d+?)?$/"; while (($file = readdir($handle))!==false){ preg_match($pattern,$file,$matches,PREG_OFFSET_CAPTURE); if(count($matches)) { // store filtered file names into an array array_push($foldersStartingWithV,$file); } } // Natural order sort the existing folder names natsort($foldersStartingWithV); // Loop the existing folder names and rename them to new serialized order foreach($foldersStartingWithV as $key=>$val) { // When old folder names equals new folder name,then skip renaming if($val != "v".$j) { rename($path.$val,$path."v".$j); } $j++; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |