我使用str_replace根据所选的域名更改模板中的URL。但它似乎阻止了模板中的PHP代码加载。
这就是我所做的:
<?php
$domain = $website_data['domain'];
$path_to_file = 'assets/sites/'.$domain.'/index.php';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace('domainhere',$domain,$file_contents);
file_put_contents($path_to_file,$file_contents);
echo $file_contents;
?>
所以它做我想做的事情,然后它回显$ file_contents和页面显示文件。除了页面上的任何PHP内容都不会呈现。
例如,如果我这样做:
<?php echo $domain ?>
它只是空白,如果我查看源代码,我可以看到它如上所述。
我不是PHP专家,因为你可以猜到所以任何想法都会受到赞赏,因为我显然错过了一些东西!
答案 0 :(得分:2)
我很惊讶没有人提到这是一个多么可怕的想法。如果您有两个不同的用户访问此脚本,他们将覆盖彼此的更改。此外,在第一次更改后,&#39; domainhere&#39;将不再存在于原始文件中。
相反,你拥有的任何地方&#34; domainhere&#34;在第一个文件中,将其更改为变量名,然后在仅包含文件之前设置变量。
答案 1 :(得分:0)
我认为你想要做的是:
echo()
如上面的评论中所述,使用Node
显示的内容不会作为程序代码执行。