Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Реализовать в php
Новая тема
Ответить
цитата
18/12/07 в 02:03
BAD guy
в директории куча папок
в каждой папке файлы jpg и mpg
нужно jpg файлы переименовать в 1.jpg,2.jpg,3.jpg... какое их там количество
и с mpg файлами сделать тоже самое...
т.е. просто их пронумеровать в логической последовательности (в папках они в этой последовательности стоят но имена их не нравятся)
цитата
18/12/07 в 03:42
Klirik
Total Commander - Ctrl+M
групповое переименование работает и для фтп, в пределах одной папки
цитата
18/12/07 в 09:26
alt
Ему на сервере надо.
Делаешь так
Код:
$path="path/to/files";
$ext="jpg"; // или "mpg";
$d = dir($path);
$count=1;
while (false !== ($entry = $d->read())) {
$tmp = explode(".",$entry);
if($tmp[1] == $ext)
{
rename ($path."/".$entry, $path."/".$count.".".$ext);
$count++;
}
}
$d->close();
может где ковычки пропустил, а так работать будет
цитата
18/12/07 в 17:15
BAD guy
alt писал:
может где ковычки пропустил, а так работать будет
спасибо большое! попробую :)
цитата
18/12/07 в 17:40
dDan
у тебя в папки не залазит
цитата
18/12/07 в 21:02
BAD guy
dDan писал:
у тебя в папки не залазит
это сам уже... переименовывать как понятия не имел... смикалки не хватило :(
цитата
18/12/07 в 22:38
Sha
Сам-то сам, только очень внимательно с приведенным решением. В нем принципиальная ошибка.
Найдете сами ?
... Или я ошибаюсь...
цитата
19/12/07 в 01:56
BAD guy
Sha писал:
Сам-то сам, только очень внимательно с приведенным решением. В нем принципиальная ошибка.
Найдете сами ?
... Или я ошибаюсь...
у меня вот это
$count++;
почему-то срабатывало даже при лжи в if
но я тут помудрил и наклацал что всё так или иначе но работает.
цитата
19/12/07 в 09:08
alt
В папки точно не залазит это пример для 1 директории,
но... не сложно сделать и для многих папок
Итак, если папки лежат на 1 уровне (не вложенные)
то такое решение:
Выносим вышеприведенный код в функцию
И делаем так
Код:
<?
$path="path/to/dirs"; // путь к директории с папками
$ext="jpg"; // или "mpg";
$d = dir($path);
while (false !== ($entry = $d->read())) {
$tmp = explode(".",$entry);
if($entry != ".." && $entry != ".")
{
ren($path."/".$enrty,$ext);
}
}
$d->close();
function ren($path,$ext)
{
$d = dir($path);
$count=1;
while (false !== ($entry = $d->read())) {
$tmp = explode(".",$entry);
if($tmp[1] == $ext)
{
rename ($path."/".$entry, $path."/".$count.".".$ext);
$count++;
}
}
$d->close();
}
?>
Но вот будут ли они пеперименнованны по порядку, это вопрос, т.к. их возможно надо будет сортировать еще по времи создания.
2Sha а где там принципиальная ошибка? очень интересно =)
цитата
19/12/07 в 22:49
Sha
alt писал:
2Sha а где там принципиальная ошибка? очень интересно =)
Мож я ошибся. Мож и нет ошибки, кроме проблем с файлами с двойным расширением. Типа abc.jpg.html
PS ну а рекурсию чего не реализовал ? Можно углУбить.
Новая тема
Ответить
Эта страница в полной версии