一种解决方案是这样编写代码:
// 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;在文档的最左侧。有关详细信息,请参阅heredoc 语法。
此代码是一个示例,您当然需要检查 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 。