【发布时间】:2015-01-20 23:37:41
【问题描述】:
我有一个存储 php 代码和 html 代码的 mysql 表。假设这段代码在该表中:
<html>
<head>
<title><?php echo $PageName; ?></title>
</head>
<body>
<?
echo $PageContent;
?>
</body>
</html>
我想要做的是回显变量的值而不是代码本身。
我对此进行了研究,然后我发现了 eval(); ,但不幸的是,它只适用于 php 代码,所以每当我输入 html 代码时,它会在第 1 行显示意外的 '
澄清:我的意思是,当我从数据库中获取代码时,我希望它执行,而不是回显整个代码。谢谢
【问题讨论】:
-
您想将整个 PHP 脚本存储在 MySQL 数据库中并从那里执行吗?我认为您可能会以错误的方式处理事情。
-
不,我的意思是当我从数据库中获取代码时,我希望它执行,而不是回显整个代码。
-
Mike W 说的话让我觉得他完全理解你。从编程的角度来看,您要求做的只是没有意义。我敢肯定我可以想办法实现它,但你最好寻找替代方案。也许如果您能告诉我们更多关于您如何使用它的信息,我们可以为您提供更好的指导。
-
这都是因为我的互联网连接速度很慢,有时我有点懒惰将我的代码上传到 ftp 客户端应用程序,所以我做了一个解决方案,我创建了上传我的代码mysql 快速更新我的代码。
-
说真的:这真是个坏主意。这将使您的应用程序无法使用许多常见的 PHP 技术,包括类自动加载和操作码缓存;并且会使您的代码的安全性大大降低(因为现在大多数 SQL 注入漏洞都可以用于远程代码执行)。你看不到其他人这样做是有原因的。