1つの解決策は、次のようにコードを記述することです。
// Creates a template of category
$page = <<< EOT
<html>
<head>
<title>Category {$category_name}</title>
(...)
</body>
</html>
EOT;
$f = fopen($new_directory . "/index.php", 'w');
fwrite($f, $page);
fclose($f);
EOTを置くことを忘れないでください。ドキュメントの左端にあります。詳細については、ヒアドキュメントの構文を参照してください。
このコードはサンプルです。もちろん、fopen/fwriteが成功したかどうかを確認する必要があります。
別の解決策は、テンプレートトークンを使用して別のファイルにテンプレートを含めることです。
このようにして、以下を含むtemplate_category.txtという名前のファイルが作成されます。
<html>
<head>
<title>Category %category_name%</title>
(...)
</body>
</html>
次に、PHPスクリプトで、テンプレートトークンを値に置き換えます。
$template = file_get_contents("template_category.txt");
$to_replace = array(
'%category_name%',
(...)
);
$replace_by = array(
$category_name,
(...)
);
$page = str_replace($to_replace, $replace_by, $template);
そして、上記のようにindex.phpに$pageを書き込みます。