写一个php文件放到你想要批量处理的文件目录下,运行文件即可完成
注意:确认你的文件名是不是时间戳,还有文件里的php文件,要加上判断!不要误删了!
<?php
set_time_limit(0); //忽略php.ini设置的脚本运行时间限制
$q_array = my_dir('./');
$q_array = str_replace('.//','',$q_array);
$a = explode(",",$q_array);
echo "文件目录中的文件数组</br>";
var_dump($a);
forEd($a);//修改文件名
//循环建立新的文件根据时间戳移动文件到指定文件夹修改名称
function forEd($arr){
$dir = array();
foreach($arr as $v){
$dir[] = substr($v,0,6);
}
foreach($arr as $v){
$newDir = substr($v,0,6);
foreach($dir as $v2){
if($v2 == $newDir){
mk_dir($newDir);
@!copy($v,$newDir.'/'.substr($v,6));
}
}
}
return true;
}
//获取所有的文件返回数组
function my_dir($dir) {
$files = array();
if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:)
while(($file = readdir($handle)) !== false) {
if($file != ".." && $file != ".") { //排除根目录;
if(is_dir($dir."/".$file)) { //如果是子文件夹,就进行递归
$files[$file] = my_dir($dir."/".$file);
} else { //不然就将文件的名字存入数组;
$files[] = $dir.'/'.$file;
}
}
}
closedir($handle);
$files = str_replace('..', '',str_replace(',..', ',',implode(",",$files)));
return $files;
}
}
function mk_dir($dir, $mode = 0755)
{
if (is_dir($dir) || @mkdir($dir,$mode)) return true;
if (!mk_dir(dirname($dir),$mode)) return false;
return @mkdir($dir,$mode);
}