Как переименовать много файлов с помощью цикла?

Я хочу переименовать 420 файлов с помощью цикла, но я не знаю как.

В своем проекте я создал 420 изображений с помощью fopen ();

fopen($meal->imagepath, "w");

Так как fopen ищет существующий файл, а у меня его нет, функция создала мои 420 файлов через цикл, и они имеют правильные имена. Проблема в том, что эти изображения не имеют таких свойств, как высота, ширина или цвет фона.

Поэтому я хотел бы создать один файл вручную нарисовать и скопировать этот файл 420 раз, а затем переименовать их, ссылаясь на текстовый файл с моими 420 правильными именами. Я думаю, что это должно быть возможно, но как?

Спасибо вам

0

Решение

Так как это звучит как разовая вещь, я опускаю обработку ошибок

PHP напрямую копирует файлы

foreach( file('names.txt', FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) as $target)
copy('source.png', $target);
}

смотрите также: http://docs.php.net/copy , http://docs.php.net/function.file

php создает командный файл:

file_put_contents('rename.sh', '#!/bin/bash');
foreach( file('names.txt', FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) as $target)
file_put_contents('rename.sh', "cp source.png $target\r\n", FILE_APPEND);
}

смотрите также: http://docs.php.net/file_put_contents

только shell / xargs:

<source.txt xargs -L 1 cp source.png

смотрите также: https://en.wikipedia.org/wiki/Xargs

Powershell:

gc .\source.txt | %{ copy source.png $_ }

смотрите также: Использование командлета Get-Content

2

Другие решения

foreach (glob("*.txt") as $filename) {
file_put_contents('new_name',file_get_contents('path/to/file/'.$filename)); }
-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector