Реклама на сайте Advertise with us

Реализовать в php

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

$$$$$$$$$$

С нами с 05.05.05
Сообщения: 1014
Рейтинг: 479

Ссылка на сообщениеДобавлено: 18/12/07 в 02:03       Ответить с цитатойцитата 

в директории куча папок
в каждой папке файлы jpg и mpg

нужно jpg файлы переименовать в 1.jpg,2.jpg,3.jpg... какое их там количество
и с mpg файлами сделать тоже самое...

т.е. просто их пронумеровать в логической последовательности (в папках они в этой последовательности стоят но имена их не нравятся)

0
 



С нами с 19.11.06
Сообщения: 2295
Рейтинг: 345

Ссылка на сообщениеДобавлено: 18/12/07 в 03:42       Ответить с цитатойцитата 

Total Commander - Ctrl+M
групповое переименование работает и для фтп, в пределах одной папки

Строим Луна-парки с блэкджеком и шлюхами. Дорого.

0
 

легионер МММ

С нами с 18.04.03
Сообщения: 6239
Рейтинг: 786

Ссылка на сообщениеДобавлено: 18/12/07 в 09:26       Ответить с цитатойцитата 




Ему на сервере надо.


Делаешь так

Код:
$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();


может где ковычки пропустил, а так работать будет

0
 

$$$$$$$$$$

С нами с 05.05.05
Сообщения: 1014
Рейтинг: 479

Ссылка на сообщениеДобавлено: 18/12/07 в 17:15       Ответить с цитатойцитата 

alt писал:
может где ковычки пропустил, а так работать будет


спасибо большое! попробую :)

0
 



С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430

Ссылка на сообщениеДобавлено: 18/12/07 в 17:40       Ответить с цитатойцитата 

у тебя в папки не залазит

0
 

$$$$$$$$$$

С нами с 05.05.05
Сообщения: 1014
Рейтинг: 479

Ссылка на сообщениеДобавлено: 18/12/07 в 21:02       Ответить с цитатойцитата 

dDan писал:
у тебя в папки не залазит


это сам уже... переименовывать как понятия не имел... смикалки не хватило :(

0
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 18/12/07 в 22:38       Ответить с цитатойцитата 

Сам-то сам, только очень внимательно с приведенным решением. В нем принципиальная ошибка.
Найдете сами ?
... Или я ошибаюсь...

0
 

$$$$$$$$$$

С нами с 05.05.05
Сообщения: 1014
Рейтинг: 479

Ссылка на сообщениеДобавлено: 19/12/07 в 01:56       Ответить с цитатойцитата 

Sha писал:
Сам-то сам, только очень внимательно с приведенным решением. В нем принципиальная ошибка.
Найдете сами ?
... Или я ошибаюсь...


у меня вот это
$count++;
почему-то срабатывало даже при лжи в if

но я тут помудрил и наклацал что всё так или иначе но работает.

0
 

легионер МММ

С нами с 18.04.03
Сообщения: 6239
Рейтинг: 786

Ссылка на сообщениеДобавлено: 19/12/07 в 09:08       Ответить с цитатойцитата 

В папки точно не залазит это пример для 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 а где там принципиальная ошибка? очень интересно =)

0
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 19/12/07 в 22:49       Ответить с цитатойцитата 

alt писал:
2Sha а где там принципиальная ошибка? очень интересно =)

Мож я ошибся. Мож и нет ошибки, кроме проблем с файлами с двойным расширением. Типа abc.jpg.html
PS ну а рекурсию чего не реализовал ? Можно углУбить.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »