2014-10-14 3 views
-1

У меня есть 2500 изображений в папке, которая имеет слово NAME во всех изображениях. ПримерыПереименование многих файлов в папке - PHP

Peter Wang B5357550.jpg 
Sander Mackiney B5355624.jpg 

, что мне нужно сделать, это прочитать все имена файлов и переименовать его в следующий

B5357550.jpg 
B5355624.jpg 

Так удалить имя и фамилию из файла, возможно в PHP сделать насыпную переименовывать? (Все студенческие идентификаторы находятся в формате Bxxxxxxx)

+1

Да, можно выполнять массовое переименование в PHP. Есть ли что-нибудь, с чем вы пытались помочь? – Jim

+0

В Linux вы можете рассматривать команду 'rename' для переименования файлов. Вы можете найти несколько примеров на http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal – softius

ответ

-1

Если они все в этом формате, было бы легко исправить, да. Запустите glob, чтобы получить все файлы .jpg в массив, а затем просто explode имя файла в пробелах, используйте цикл foreach на этом массиве, используйте end, чтобы получить последний раздел, и rename файл этой строки.

+0

Вы должны указать код. –

1

Быстрый, простое решение:

$dir = $_SERVER['DOCUMENT_ROOT'].'/your-folder-to-files'; 
$files = scandir($dir); 
unset($files[0],$files[1]); 
foreach ($files as $oldname){ 
    $newname = substr($oldname, -12); 
    rename ($dir.'/'.$oldname, $dir.'/'.$newname); 
} 

NB: Вы, возможно, потребуется изменить путь к серверу, чтобы что-то похожее на:

$dir = "/home/users/you/folder_files/"; 

или

$dir = "folder_files/"; 
  • Если $_SERVER['DOCUMENT_ROOT'] не работает на вас.
+0

Большое спасибо. Это работает. –

+0

@OctoTawatpong Рад помочь вам! Если это решение работает -> принять мой ответ. –