Конвертировать php в html и перенести в другую папку. PHP

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

$source_dir = "D:\openserver\domains\source.com";
$destination_dir = "D:\openserver\domains\destination.com";

if((!is_dir($source_dir.'/'.$file)) && (pathinfo($file, PATHINFO_EXTENSION) == 'php')){
      ob_start();
      include $source_dir.'/'.$file;
      $file = ob_get_clean();
      /// echo pathinfo($file, PATHINFO_BASENAME);/// Здесь пусто.
      $new_name = rename(pathinfo($file, PATHINFO_BASENAME), pathinfo($file, PATHINFO_FILENAME).'.html');
      file_put_contents($new_name, $file);
    }

$destination_dir наверное даже лишнее, т.к. надо итоговый файл вывести в эту же папку, где находится этот скрипт.

А еще такую ошибку выдает :

Warning: rename(html>
,html>
.html): Синтаксическая ошибка в имени файла, имени папки или метке тома. (code: 123) in D:\OpenServer\domains\destination.com\copy.php on line 27

Warning: file_put_contents(): Filename cannot be empty in D:\OpenServer\domains\destination.com\copy.php on line 28

Файл почему то пустой пишет. Наверное что то с rename не то делаю.


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

Автор решения: Hi_TecH

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

if((!is_dir($source_dir.'/'.$file)) && (pathinfo($file, PATHINFO_EXTENSION) == 'php')){
      ob_start();
      include $source_dir.'/'.$file;
      $php_to_html = ob_get_clean();
      $fp = fopen($file, "w");
      fwrite($fp, $php_to_html);
      fclose($fp);
      rename(pathinfo($file, PATHINFO_BASENAME), pathinfo($file, PATHINFO_FILENAME).'.html');
}
→ Ссылка