【问题标题】:How to echo usable php code from database如何从数据库中回显可用的 php 代码
【发布时间】:2016-02-03 20:28:57
【问题描述】:

我的 Wordpress 管理面板中有一个设置页面,我使用 update_option 将一些 HTML 代码(其中包含一些 PHP 代码)保存为 Wordpress 选项。

在 phpmyadmin 中,值的存储方式完全一样:

<img src = \"<?php bloginfo(\'template_directory\'); ?>/images/flexslider/phone.png\">

在我尝试真正让代码在页面中运行之前,它运行良好。我是这样打印的:

<?php echo urldecode(get_option('wp_slider_code')); ?>

不幸的是,这会将 PHP 代码打印为 HTML 代码。所以 PHP 代码实际上并没有被执行;它被视为文本,网址变为:

<?php bloginfo('template_directory'); ?>/images/flexslider/phone.png

当我在页面上回显此 PHP 代码时,我该怎么做才能执行它?

【问题讨论】:

  • 为什么不在将值保存到数据库之前先运行php代码,所以它是保存在数据库中的url而不是php代码

标签: php mysql wordpress


【解决方案1】:

你必须使用eval()内置函数:

eval( $YourString );

(编辑:)如果$YourString返回一个结果,你必须使用这个结果:

$result = eval( $YourString );

请注意:

注意 eval() 语言结构非常危险,因为它允许执行任意 PHP 代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造别无其他选择,请特别注意不要将任何用户提供的数据传入其中,而无需事先正确验证。

阅读更多PHP Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多