Как можно переименовать файл, ссылаясь на текстовый документ?

Я дублировал один файл изображения несколько раз, а затем переименовал его так:

Файлы изображений:

x (1).jpg
x (2).jpg
x (3).jpg
...

Я хотел бы переименовать эти файлы, ссылаясь на .txt документ, в котором я уже сохранил нужные имена для этих файлов.

Одна строка занимает одно имя:

a.jpg
b.jpg 
c.jpg 
...

Мой php-код пока что:

for($i = 1; $i <= 420; $i++) {
    rename("/folder1/folder2/x ($i).jpg", "/names.txt");
}

Я не знаю, как это сделать, потому что я думаю, что нужно как-то указать, что после каждого цикла он должен пропустить строку раньше.

3 ответа

Вы можете использовать PHP, чтобы сделать это за один шаг, используя copy (). Все, что вам нужно, это (1) исходный файл изображения (2) список имен, которые вы хотите в файле, по одному в строке, и (3) простой скрипт для чтения текстового файла и создания копий исходного файла.

// first you need to open and read your names file line by line
$names_file = file("your_filenames.txt");
foreach($names_file as $line) {
  copy("path_to_original_image.jpg", $line);
  }

file Метод в php читает файл и вставляет каждую строку в массив. Поэтому вы можете попробовать это:

$filenames = file("/names.txt");

for($i = 1; $i <= 420; $i++) {
    rename("/folder1/folder2/x ($i).jpg", $filenames[$i]);
}

По сути, вы переименовываете все файлы.jpg в /names.txt. Если вам нужно загрузить имена из файла, используйте file('/names.txt'), Затем вы можете использовать цикл for для перебора строк в этом файле.

Другие вопросы по тегам