Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Скрипт переименовки всех файлов в папке


Автор: SIMarOK 9.4.2006, 14:16
Есть скрипт, его цель- переименовать все файлы по порядку, 1, 2, 3 и т.д.. но когда файлов много, к примеру 99 штук, то он не по порядку делает переименование, а допустим 1,10,11,12,13 и сразу прыгает на 100,101, т.е. вообще не понятно откуда он это берет.
Собственно скрипт:
Код

<?
$path="./files/"; //Путь к файлам для переименовки
$dir=opendir("$path");
$i=1;
for ($t=1;false!==($file=readdir($dir));$t++)
{
$new_name=$i."-.jpg"; // - новое название файлов
     if (is_file("$path$file"))
     {
          rename("$path$file","$path$new_name");
       $i++;
     }

}
?>


помогите плиз

Автор: Messenger 9.4.2006, 17:06
хм, а может:

Код

  $new_name = "$i-.jpg"; // или
  // $i++; -> $i += 1; ??? $i = $i + 1; ???


$i." ... " может превращчать int в string а потом $i++ обратно, но ...
читай мануалы smile

Автор: Ciber SLasH 9.4.2006, 18:03
Код

<?php
set_time_limit(0);
clearstatcache();

$path = './test/';
$dir = opendir($path);
$files = array();
while ( ($file = readdir($dir)) !== false) {
    if ($file != '.' && $file != '..' && is_file($path.$file))
        $files[] = $path.$file;
}
for ($i = 0; $i < count($files); $i++) {
    rename($files[$i], $path.strval($i+1).'.jpg');
}
?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)