使用PHP依次重命名目录中的所有图像文件
以下功能会将目录中的所有图像文件重命名为顺序的。参数是文件所在目录的路径,以及将用于通过PHPusort()函数对文件数组进行排序的函数的名称。
function sequentialImages($path, $sort=false) {$i = 1;
$files = glob($path."/{*.gif,*.jpg,*.jpeg,*.png}",GLOB_BRACE|GLOB_NOSORT);
if ( $sort !== false ) {
usort($files, $sort);
}
$count = count($files);
foreach ( $files as $file ) {
$newname = str_pad($i, strlen($count)+1, '0', STR_PAD_LEFT);
$ext = substr(strrchr($file, '.'), 1);
$newname = $path.'/'.$newname.'.'.$ext;
if ( $file != $newname ) {
rename($file, $newname);
}
$i++;
}
}
可以在第二个参数中使用以下函数,以按文件的最后修改时间对文件进行排序。
function sort_by_mtime($file1, $file2) {$time1 = filemtime($file1);
$time2 = filemtime($file2);
if ( $time1 == $time2 ) {
return 0;
}
return ($time1 < $time2) ? 1 : -1;
}
将这两个函数放在一起,我们可以sequentialImages()像这样调用该函数。
sequentialImages('files','sort_by_mtime');
此功能拍摄以下图像集:
file1.giffile2.gif
wibble.gif
wobble.gif
02.gif
并将它们重命名为以下内容:
01.gif02.gif
03.gif
04.gif
05.gif
以上是 使用PHP依次重命名目录中的所有图像文件 的全部内容, 来源链接: utcz.com/z/327658.html