PHP图像重命名为两位数
我有一个文件夹中的图片,我想把它们按顺序重命名为两位数。我浏览并尝试了很多解决方案,但没有找到我想要的。我现在变得绝望了。我设法找到了这个代码,但它把一个数字从1改为9,把两个数字从10改为10。我想从01.jpg,02.jpg,03.jpg开始计算PHP图像重命名为两位数,php,Php,我有一个文件夹中的图片,我想把它们按顺序重命名为两位数。我浏览并尝试了很多解决方案,但没有找到我想要的。我现在变得绝望了。我设法找到了这个代码,但它把一个数字从1改为9,把两个数字从10改为10。我想从01.jpg,02.jpg,03.jpg开始计算 <?php $files = glob('../thumbs/*'); foreach($files as $i => $name) { $newname = sprintf('../thumbs/%d.jpg', $i+2
<?php
$files = glob('../thumbs/*');
foreach($files as $i => $name) {
$newname = sprintf('../thumbs/%d.jpg', $i+2);
if ($newname != $name) {
rename($name, $newname);
}
}
?>
如何修改上述代码使其成为两位数?更改
sprintf(“../thumbs/%d.jpg”,$I+2)代码>到sprintf('../thumbs/%02d.jpg',$i+2)
您可以使用%d
中d
前面的数字指定整数的宽度
而不是sprintf('../thumbs/%d.jpg',$i+2)代码>使用sprintf('../thumbs/%02d.jpg',$i+2)代码>
我建议Stru_pad采用更灵活的方法:
$files = glob('../thumbs/*');
foreach($files as $i => $name) {
{
$index = str_pad($i, 2, "0", STR_PAD_LEFT);
$newname = sprintf('../thumbs/%d.jpg', $index);
if ($newname != $name) {
rename($name, $newname);
}
}
$files = glob('../thumbs/*');
foreach($files as $i => $name) {
{
$index = str_pad($i, 2, "0", STR_PAD_LEFT);
$newname = sprintf('../thumbs/%d.jpg', $index);
if ($newname != $name) {
rename($name, $newname);
}
}