Php не работает, но iframe работает нормально - PullRequest
0 голосов
/ 15 мая 2011

У меня есть несколько наборов кода для отображения правой части моей веб-страницы. Я использую это место, чтобы показать некоторую информацию о пользователях, а некоторые не хватает рекламы. Для рекламы я использую этот код в моей базе данных. Теперь проблема в том, что я хочу отобразить один внешний php-файл, который находится в том же каталоге, куда я пытаюсь включить или запросить этот php-файл.

Но я не знаю, почему это не работает. Я пытался с iframe, который работает нормально, но я хочу использовать php include, но он не работает. Пожалуйста, скажите, где я делаю ошибку. Вот мой код:

if (is_array($data['blocks'])) {
        $output .= '<div id="appside">';
        foreach($data['blocks'] as $block) {
            if (is_array($block)) {
                $output .= '
                <div class="block">';
                if ($block['title']) {
                    $output .= '<div class="block_title">'.$block['title'].'</div>';
                }
                $output .= '<div class="block_content">
                '.$block['content'].
                '</div>
                </div>
                ';
            }
        }
        $output .= get_gvar('theme_block_sidebar').

        '<div><?php include("/home/xxxxxxx/public_html/xxxxxxxa.php"); ?></div>


        </div>

                ';// end of app_sidebar

Я пробовал все возможные варианты, кроме печати его php-кода. его не казнят. Я пытался поставить <?php include(\'/home/xxxxxxx/public_html/xxxxxxxa.php\'); ?> и все другие альтернативы, кроме печати php-кода.

Ответы [ 3 ]

1 голос
/ 15 мая 2011
'<div><?php include("/home/xxxxxxx/public_html/xxxxxxxa.php"); ?></div>

PHP не будет выполняться внутри строки (что все вышеизложенное).

Вы не можете объединить оператор включения (если только возвращаемый файл не вернетсячто-то через return).Поскольку я не могу сказать, находится ли ваш фрагмент кода внутри функции или как он выполняется, мое лучшее решение - использовать буферизацию вывода.

$output .= get_gvar('theme_block_sidebar') . '<div>';

ob_start();
include "/home/xxxxxxx/public_html/xxxxxxxa.php";
$output .= ob_get_contents();
ob_end_clean();

$output .= '</div>'
0 голосов
/ 15 мая 2011

Если вы хотите получить вывод из внешнего php-файла в переменной, вы можете получить его с помощью PHP-функций буферизации :

ob_start();
include("/home/xxxxxxx/public_html/xxxxxxxa.php");
$output_from_php_file = ob_get_contents();
ob_end_clean();

Затем вы можете добавить $output_from_php_file к вашей $output переменной, где вы хотите.

0 голосов
/ 15 мая 2011

если файл, который вы хотите включить, находится в том же каталоге, что и этот файл, то вы должны включить только имя файла

<?php include('filename.php'); ?>

если он находится на более высоком уровне или в каталоге или подкаталоге на более высоком уровне, то вам следует перейти на этот уровень, а затем в файл.

<?php include('../../path/to/file.php'); ?>

, где ../../ поднимается на 2 уровня, вы можете установить столько уровней, сколько хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...