【问题标题】:How to embed phpinfo() within a page without affecting that page's CSS styles如何在页面中嵌入 phpinfo() 而不影响该页面的 CSS 样式
【发布时间】:2019-03-22 18:34:01
【问题描述】:

我想在管理页面中嵌入phpinfo()。保持网站导航和样式。但是,函数中应用的样式与网站自己的样式(破坏导航样式)混在一起。

问题:如何防止phpinfo() 影响我嵌入的页面?

【问题讨论】:

  • 你可以只 iframe 它。

标签: php css embed phpinfo


【解决方案1】:

通过PHP User Contributed Notes 挖掘后,我找到了大部分解决方案。然后我扩展了我发现的内容并将其包装在一个函数中。它去除了<body></body> 标签,回显了它自己的可自定义样式,然后是<div id='phpinfo'></div> 内部的phpinfo() 的内容。

function embedded_phpinfo()
{
    ob_start();
    phpinfo();
    $phpinfo = ob_get_contents();
    ob_end_clean();
    $phpinfo = preg_replace('%^.*<body>(.*)</body>.*$%ms', '$1', $phpinfo);
    echo "
        <style type='text/css'>
            #phpinfo {}
            #phpinfo pre {margin: 0; font-family: monospace;}
            #phpinfo a:link {color: #009; text-decoration: none; background-color: #fff;}
            #phpinfo a:hover {text-decoration: underline;}
            #phpinfo table {border-collapse: collapse; border: 0; width: 934px; box-shadow: 1px 2px 3px #ccc;}
            #phpinfo .center {text-align: center;}
            #phpinfo .center table {margin: 1em auto; text-align: left;}
            #phpinfo .center th {text-align: center !important;}
            #phpinfo td, th {border: 1px solid #666; font-size: 75%; vertical-align: baseline; padding: 4px 5px;}
            #phpinfo h1 {font-size: 150%;}
            #phpinfo h2 {font-size: 125%;}
            #phpinfo .p {text-align: left;}
            #phpinfo .e {background-color: #ccf; width: 300px; font-weight: bold;}
            #phpinfo .h {background-color: #99c; font-weight: bold;}
            #phpinfo .v {background-color: #ddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;}
            #phpinfo .v i {color: #999;}
            #phpinfo img {float: right; border: 0;}
            #phpinfo hr {width: 934px; background-color: #ccc; border: 0; height: 1px;}
        </style>
        <div id='phpinfo'>
            $phpinfo
        </div>
        ";
}

【讨论】:

    【解决方案2】:

    我尝试使用 ob_get_contents() 将 phpinfo 获取到一个字符串变量,但 phpinfo 仍然显示在页面中。然后我把 ob_get_contents 代码放在一个函数中,我得到了 $phpinfo 变量。

    function getPhpinfo()
    {
        ob_start();
        phpinfo();
        $data = ob_get_contents();
        ob_clean();
        return $data;
    }
    
    $phpinfo = getPhpinfo();
    var_dump(strlen($phpinfo));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      相关资源
      最近更新 更多