2015-11-21 79 views
0

使用PHP代码,我有这样的代码:被保存在数据库中

<!DOCTYPE html> 
<html> 
    <?php require_once('./module/mod_head.php'); ?> 
<body> 
    <?php require_once('./core/imp/navbar.inc.php'); ?> 

    <div class="container" style="margin-bottom: 50px;"> 
     <?php include('./module/mod_preview.php'); ?> 
    </div> 

    <div class="container-fluid"> 
     <?php include_once('./module/mod_block_whoami.php') ?> 

     <div class="collapse" id="summaryId"> 
      <?php include_once('./module/mod_block_summary.php'); ?> 
     </div> 
    </div> 

    <?php require_once('./core/imp/footer.inc.php'); ?> 
</body> 
</html> 

下面这段代码保存在数据库中。

问题是我想要使用的代码,因为它将是我的index.php文件中唯一的代码。

但正如我之前说的它被保存在数据库中,并获得该代码我需要使用PHP,然后代码将被保存在一个PHP变量和呼应,将是这样的:

<?php echo "<html><?php echo "<morehtml>blablabla</morehtml>"; ?></html>"; ?> 

我想创建一个临时文件,该文件被代码覆盖,然后包含在index.php文件或任何需要从数据库获取代码的文件中。

但是,我不知道这是一个好主意,或者如果有任何更好的方法从MySQL数据库获取php代码并使用它。

+2

问题是:**你为什么要这样做?为什么不直接输出HTML,而是使用PHP内部的PHP。你现在想做什么,会错误的。然后,当不需要时你必须使用额外的功能。不要重新发明轮子;许多人在你面前尝试失败。 PHP是PHP,HTML是HTML。 –

+0

我希望能够编辑并将其保存在网站上,而不是将编辑后的文件上传到服务器。这可能不是最好的例子,但我遇到它并找不到解决方案。所以我只想知道有没有办法做到这一点 –

+0

我在我的index.php中有了上面的代码,但是有一天我想:我不需要那个“mod_block_whoami.php”在页面上,所以我只需进入页面并登录,删除它并保存。而不是使用终端进行编辑或将编辑后的文件上传到服务器。 –

回答

1

如果要使用数据库中的php代码,请尝试eval(将一个字符串评估为PHP代码)。

$sting // your variable with the data from the DB 
<?=eval('?>' . $sting . '<?') ?> 

但是,这是危险的,从文档:

“中的eval()语言结构是非常危险的,因为它允许任意PHP代码执行因此建议不要使用它。如果你仔细验证。除了使用这种结构之外,没有别的选择,要特别注意不要将任何用户提供的数据传递给它,而不事先进行适当的验证。“

+0

好吧,我会找到别的东西,但感谢您的帮助 –

1

PHP提供eval($string)函数。它在你传递它的字符串中运行代码。因此,从MySQL数据库读取代码并运行它将是一件简单的事情。

但是,这是个好主意吗?许多人不这么认为,因为这会让你的应用程序很容易出现坏点。

+0

*我的情绪完全*。 –