我有这段代码:
<!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代码并使用它。
答案 0 :(得分:1)
PHP提供eval($string)
功能。它在您传递的字符串中运行代码。因此,从MySQL数据库中读取代码并运行它将是一件简单的事情。
但是,这是个好主意吗?许多人不这么认为,因为它使得一个坏人很容易将你的应用程序推到一边。
答案 1 :(得分:1)
如果您想使用数据库中的php代码,请尝试eval(将字符串评估为PHP代码)。
$sting // your variable with the data from the DB
<?=eval('?>' . $sting . '<?') ?>
但这很危险,来自文档:
“eval()语言结构非常危险,因为它允许执行任意PHP代码。因此不鼓励使用它。如果你仔细验证除了使用这个结构之外别无选择,请特别注意不要将任何用户提供的数据传递给它,而不事先正确验证它。“