Xwab
Форумыnavigate_nextПрограммирование на PHP

Массовое переименование файлов
Сообщения
Saibot

Как переименовть все файлы в папке по шабону file1,file2.file3

28 Фев 2013, 2:23
IceJOKER

открыть в тотал коммандере и сделать групповое переименование , либо пройтись циклом по всем файлам

28 Фев 2013, 5:25
Saibot

файли лежат в хосте

28 Фев 2013, 8:16
Виктор

Saibot, открой директорию, исключи все папки, файл .htaccess, .., . и т.п.
Заноси в массив, потом циклом foreach обработай массив, узнавай расширение, в цикле не забудь прописать $i++ и переименовывай файлы так как тебе надо. Например rename("/dir/file.txt", "dir/file$i.txt");

28 Фев 2013, 8:39
jasis

scandir() + foreach + rename = win

28 Фев 2013, 9:01
Fernus

[php:1:f34fa6c177]
<?php

function rename_files($path, $new_name) {

// Указываем шаблон файлов, которые необходимо переименовать
$files = glob($path.'/*.{jpg,gif,png}', GLOB_BRACE);

$i = 1;
if($files) foreach ($files as $k => $v) {

$path_info = pathinfo($v);
$ext = $path_info['extension'];
$dir = $path_info['dirname'];

rename($v, $dir.'/'.$new_name.$i.'.'.$ext);

$i++;

}

}

// Пример использования
rename_files('./ПУТЬ_ДО_ПАПКИ_С_ФАЙЛАМИ', 'НОВОЕ_ИМЯ_ФАЙЛОВ');

?>
[/php:1:f34fa6c177]


__________
посл.ред. 05 Мар 2013, 17:00; всего 6 раз(а) 28 Фев 2013, 9:25
Виктор

Fernus, функция будет обрабатывать только файлы с расширением jpg, gif, png

28 Фев 2013, 9:29
Fernus

Виктор, пусть свои укажет расширения...
Я как пример показал...потому что в папке могут находиться "левые" файлы...

28 Фев 2013, 9:39
Saibot

Fernus, не робит
Warning: Invalid argument supplied for foreach()

28 Фев 2013, 9:40
Fernus

Saibot, путь к папке как указываешь?

28 Фев 2013, 9:45
Ответить на тему