Скрипт переименования картинок

Статус
В этой теме нельзя размещать новые ответы.

Ozz99

Постоялец
Регистрация
15 Май 2009
Сообщения
199
Реакции
169
Есть две папки картинок в одной картинки выглядят так

as.jpg sfsad.jpg asdf.jpg asfas.jpg fgsdf.jpg

Во второй вот так

1.jpg 2.jpg апр.jpg zxc.jpg 8.jpg

Надо что бы во второй папке картинки именовались точно так как в первой. Есть такой скрипт? Или это можно решить в какой нибудь программе?
 
Ничего не понял - какова связь между картинками в разных папках? Или просто от балды?
Вообщето элементарная задача для пхп (в обоих случаях) - см. функцию rename()
 
Если сможете соответствие между файлами в первой папке и во второй составить, то набрасать скрипт переименование можно без проблем.
 
Если файлы идентичны но у них разные названия то чтобы сделать названия одинаковыми можно попробовать сравнивать md5.
Какая вообще связь между этими файлами?
 
Если файлы идентичны но у них разные названия то чтобы сделать названия одинаковыми можно попробовать сравнивать md5.
Какая вообще связь между этими файлами?
А как вы будете проверять идентичность? По размеру файла? А если 2 разные картинки весят одинаково? Или будете подгружать каждую и попиксельно сравнивать?
 
PHP:
$dir1 = './images1';
$dir2 = '/path/to/dir2'

$img1 = $img2 = array();

$h = opendir($dir1);
while($f = readdir($h)) if ($f[0] != '.') {
  $img1[] = array("$dir1/$f", md5_file("$dir1/$f"));
}
$h = opendir($dir2);
while($f = readdir($h)) if ($f[0] != '.') {
  $img2[] = array("$dir2/$f", md5_file("$dir2/$f"));
}

foreach($img1 as $seek) {
  foreach($img2 as $repl) {
     if ($seek[1] == $repl[1]) {
         rename("$dir2/$repl[0]", "$dir1/$seek[0]");
     }
  }
}
 
А как вы будете проверять идентичность? По размеру файла? А если 2 разные картинки весят одинаково? Или будете подгружать каждую и попиксельно сравнивать?

Впринципе маловероятно что две картинки весят одинаково с точностью до байта.

Правда если у них размер небольшой тогда эта вероятность сильно увеличивается.

Добавлено через 1 минуту
Если нужно просто переименовать по списку файлы. Вне зависимости от их содержания, то смотрел что подобная опция есть в тотале, там где групповое переименование. Правда не проверял эту возможность
 
Если нужно просто переименовать по списку файлы. Вне зависимости от их содержания, то смотрел что подобная опция есть в тотале, там где групповое переименование. Правда не проверял эту возможность

Точно так и надо. Просто что бы одни файлы стали с другим названием независимо от содержания. Связи между папками нет.
 
Просто что бы одни файлы стали с другим названием независимо от содержания. Связи между папками нет.

PHP:
$dir1 = '/path/to/dir1';
$dir2 = '/path/to/dir2'

$arr = array();
$h = opendir($dir1);
while($f = readdir($h)) if (is_file("$dir1/$f")) $arr[] = "$dir1/$f";

$i=0;
$h = opendir($dir2); 
while($f = readdir($h)) if (is_file("$dir2/$f")) {
      rename("$dir2/$f", "$dir2/".$arr[$i++]);
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху