цикл переименования php файлов - PullRequest
3 голосов
/ 11 октября 2011

Я управляю сайтом электронной коммерции, и у меня есть тонны изображений продуктов. Правила именования просты: productid-picnumber.

Но иногда между номерами есть пробелы.

Пример для картинок с идентификатором продукта 4519:

4519-0.jpg
4519-3.jpg
4519-4.jpg
4519-5.jpg
4519-8.jpg

Я пытаюсь написать алгоритм для переименования картинок. Изображения с этого продукта должны быть переименованы так:

4519-0.jpg
4519-1.jpg
4519-2.jpg
4519-3.jpg
4519-4.jpg

В порядке. 0 всегда должно быть 0, так как это основной образ продукта. -0 всегда там. Допустим, $ids - это массив, содержащий все мои идентификаторы продуктов.

Является ли циклический просмотр идентификаторов продуктов и использование file_exists() лучшим способом?

1 Ответ

3 голосов
/ 11 октября 2011

Я настоятельно рекомендую вам сначала получить все имена файлов из списка каталогов, а затем запустить переименование «dry» (map oldname -> new name для изменяемых файлов) и затем вывести, если фактический результат операции ожидаемый результат.

Это не только сэкономит вам много file_exists чеков, но и сохранит безопасность.

Кроме того, вы можете подумать об использовании некоторых стандартных утилит файловой системы, которые могут довольно быстро переименовывать / перенумеровывать файлы. Проверьте документацию вашей ОС.

...