如何在没有代码执行的情况下将动态php写入文件?

时间:2017-04-10 23:43:20

标签: php

$header-styles: (
  small: (
    'h1': ('font-size': 24),
    'h2': ('font-size': 20),
    'h3': ('font-size': 19),
    'h4': ('font-size': 18),
    'h5': ('font-size': 17),
    'h6': ('font-size': 16),
  ),
  medium: (
    'h1': ('font-size': 48),
    'h2': ('font-size': 40),
    'h3': ('font-size': 31),
    'h4': ('font-size': 25),
    'h5': ('font-size': 20),
    'h6': ('font-size': 16),
  ),
);

当上面的代码运行时,我期望发生的是创建一个包含以下内容的文件site.php:

$configuration = $_SERVER['DOCUMENT_ROOT'] . '/includes/settings/site.php';
if ($memtype == 'admin') {
    if (isset($_POST['sitename'])) {
        $handle = fopen($configuration,"wb") or die('Cannot open file:  '.$configuration);

        $data = "<?php $sitename = '".$_POST[sitename]."'; ?>";

        fwrite($handle, $data);
        fclose($handle);
    }
}

而不是发生的事情是我最终得到一个包含的文件:

<?php $sitename = 'user defined variable'; ?>

看起来$ sitename变量实际上被解析为变量。正如其内部引用我肯定不会发生这种情况。我希望它可以直接写为$ sitename。那么如何在不解析变量的情况下将变量名写入文件呢?

0 个答案:

没有答案