Задать вопрос
Ivan_Ivanv
@Ivan_Ivanv

Как изменить текст в многих *.docx файлах исходя из имени файла?

- Есть 1000 шт. файлов MS WORD с расширением .docx

5fa13bcd81e32218879697.jpeg

- Имя каждого файла - это цифры по порядку от 1568 до 2568.

- В каждом файле нужно поменять цифру 15 на имя файла без расширения файла.

- Есть скрипт на PHP который это делает это для файлов .txt и .html и прочих файлов, которые редактируются "блокнотом". Но этот скрипт не меняет текст внутри .docx файлов и "калечит" эти файлы.

Что не так в скрипте?
<?php

     
for ($i=1568; $i  < 1593; $i++) {                    //  диапазон  имен файлов которые читать нужно
    $file = file_get_contents("C:/1/{$i}.docx");     //  C:/1/ в папку 1 нужно скинуть файлы в которые нужно поменять текст на имя файлов
    $nextfile = str_replace('15', $i, $file); 
    file_put_contents("C:/1/{$i}.docx", $nextfile); //сохраняем
}

?>
  • Вопрос задан
  • 317 просмотров
Подписаться 2 Средний 1 комментарий
Решения вопроса 1
Lillipup
@Lillipup
Allons-y, Алонсо!
Так редактировать docx нельзя, docx это по сути xml в архиве.
Если я правильно понимаю задачу, то тут нужно использовать это https://www.php.net/manual/ru/function.rename.php
(Вообще для переименования файлов нужно использовать rename)

А для чтения и редактирования самого docx файла можно использовать это https://github.com/PHPOffice/PHPWord
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы