Как загрузить контент из файла PHP (и выполнить скрипт) из другого файла PHP? - PullRequest
1 голос
/ 16 марта 2011

У меня есть PHP-скрипт (index.php), который изменяет отображаемую страницу в зависимости от части запроса URL-адреса (используя GET).Все ссылки на странице обращаются к разным «страницам», используя ?page=pageName, и скрипт index.php загружает HTML из текстовых файлов соответственно (выводя его на экран).

Итак, если пользователь переходит на index.php?page=about, мой PHP-скрипт загружает файл с именем about.php и отображает его в контейнере представления в браузере.

Однако у меня есть большая проблема : загружаемый контент имеетСценарии PHP внутри него, но эти сценарии не выполняются при выводе с использованием сценария index.php.Это делает невозможным для меня загрузку страницы, которая содержит, скажем, список каталогов, извлеченный из базы данных MySQL.

В общем, я хочу знать, есть ли способ, которым я могу отобразить файл PHP настраницу, но также выполняйте код PHP внутри файла.

Для ясности я прикрепил аннотированный снимок экрана, который описывает то, что я имею в виду:ссылка:

enter image description here

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Используйте операторы if для включения ('about.php') в index.php и поместите операторы echo внутри about.php.Если это не работает, пожалуйста, напишите примеры кода.

if( $_REQUEST['someQuery'] == 'about' )
{
     include('about.php');
}
1 голос
/ 16 марта 2011

Использование include() будет включать содержимое другого сценария PHP и выполнять его.Если этот другой PHP-скрипт содержит функции, которые производят вывод, вам нужно будет вызывать их отдельно.

0 голосов
/ 16 марта 2011

Пожалуйста, не начинайте свои предложения с конъюнктив.

изменяет отображаемую страницу в зависимости от URL

Разве это не происходит с большинством веб-страниц?

получить доступ к различным "страницам", используя? Page = pageName

О - вы подразумеваете под частью запроса URL - шаблон фронт-контроллера - да!

Я могу отобразить файл PHP на странице, но также выполнить код PHP внутри файла.

Вы имеете в виду, что хотите увидеть исходный код PHP и вывод кода? Или просто вывод кода?

В вашем фронт-контроллере:

<?php
    if (realpath($_REQUEST['page'])!=$_REQUEST['page']) {
        header("HTTP/1.1 500 Internal Server Error");
        die ("Naughty!");
    }
    $script=SOME_PATH . $_REQUEST['page'] . ".php";

    if (!file_exists($script) || !is_readable($script)) {
         header("HTTP/1.0 404 Not Found");
         die ("File not found");
    }
    print "src = <br />";
    highlight_file($script);
    print "<hr />Output:<br />";
    include($script);
...