Функции file_put_contents

мне нужно вывести данные из БД в файл .doc, для этого использую функцию file_put_contents. Но мне нужно, чтобы при повторном вызове этой функции создавался новый файл(формально, то как делает винда, если файл уже существует, создает файл с именем "имя(1)", либо же если есть возможность, добавить в название текущую дату и время), а файл созданный ранее должен остаться нетронутым.

Так же, хотелось бы узнать, есть ли возможность как-то добавить "заголовок" файлу перед его записью, созданного с помощью этой функции.

Буду очень благодарен ответу.


Ответы (1 шт):

Автор решения: Eugene X

Здравствуй!

Если делаешь доки по времени, то можно так.

<?php
$filename = 'Document-' . date('Ymd-His') . '.doc';

Если batch-export

<?php
for ($i=0; $i<count($docs);$i++) {
  $filename = 'Document' . ($i===0?"":" ($i)") . '.doc';
  // file_put_contents here
}

Нездоровый вариант, как в винде

<?php
$filename = 'Document.doc';
$i = 1;
while (file_exists($filename)) {
  $filename = 'Document (' . ($i++) . ').doc';
}
// file_put_contents here
→ Ссылка