Как встроить phpinfo () в страницу, не затрагивая стили CSS этой страницы - PullRequest
0 голосов
/ 18 октября 2018

Я хочу встроить phpinfo() в страницу администратора.Сохранение сайтов навигации и стилей.Однако стили, применяемые в функции, не соответствуют собственным стилям сайта (нарушает стили навигации).

Вопрос: Как мне не дать phpinfo() повлиять на страницу, на которую я его вставил?

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Я пытался использовать 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));
0 голосов
/ 18 октября 2018

После просмотра Пользовательских комментариев PHP Я нашел большую часть решения.Затем я расширил то, что нашел, и обернул это в функцию.Он удаляет теги <body></body>, отображает собственные настраиваемые стили, а затем содержимое phpinfo() внутри <div id='phpinfo'></div>.

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>
        ";
}
...