我想知道是否有人可以帮我为我编写一个PHP脚本,重命名序列中目录中的所有文件。
所以......
DSC_10344.JPG - > 3.JPG
依此类推。
答案 0 :(得分:8)
这是我的版本:
// open the current directory (change this to modify where you're looking)
$dir = opendir('.');
$i = 1;
// loop through all the files in the directory
while (false !== ($file = readdir($dir)))
{
// if the extension is '.jpg'
if (strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'jpg')
{
// do the rename based on the current iteration
$newName = $i . '.jpg';
rename($file, $newName);
// increase for the next loop
$i++;
}
}
// close the directory handle
closedir($dir);
答案 1 :(得分:0)
使用rename重命名文件。您可以使用this handy script遍历目录中的所有文件:
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>
然后,只需查看文件名($file
)并确定要给他们的号码。如果您需要更多帮助,请告诉我,我会提供更多详细信息。
答案 2 :(得分:0)
试试这个:
$handler = opendir($directory);
$index = 1;
while ($file = readdir($handler)) {
if ($file != "." && $file != "..") {
rename($directory."/".$file, $directory."/".$index.".JPG");
$index++;
}
}
closedir($handler);
答案 3 :(得分:-1)
使用某人的代码片段,它看起来像这样:
<?php
$path = '.';
$i = 1;
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_file($path.'/'.$file)) {
$oldname = $path.'/'.$file;
$path_info = pathinfo($oldname);
rename($oldname, $path.'/'.($i++).'.'.$path_info['extension']);
}
}
closedir($handle);
}
?>
它将重命名包含所有扩展名的文件,并跳过目录中的目录。