Проверка PHP, если содержимое require_once () пусто - PullRequest
3 голосов
/ 06 апреля 2011

Я работаю над сценарием PHP, который включает в себя несколько внешних сценариев PHP через метод require_once (). Я хотел бы знать, есть ли способ, чтобы мастер-сценарий (включающий другие) мог определить, сгенерировал ли обработанный вывод из включенного сценария какой-либо контент.

Так, например, возможно, разрешения пользователя для конкретного скрипта приводят к тому, что PHP не генерирует никакого вывода. Так что, может быть, мастер-скрипт будет отображать что-то вроде:

                             Nothing interesting here!

Есть ли способ сделать это в мастер-скрипте или мне нужно будет создать эти тесты внутри включенного скрипта и вернуть результаты в мастер-скрипт?

Спасибо за ваше время,
spryno724

Ответы [ 3 ]

8 голосов
/ 06 апреля 2011

Вы можете захватить вывод, используя ob_start, ob_get_contents и ob_end_clean следующим образом:

ob_start();
require_once('script.php');
$output = ob_get_contents();
ob_end_clean();
3 голосов
/ 06 апреля 2011
ob_start();
require_once 'your_file.php';
$output = ob_get_flush(); // ob_get_clean() if you want to suppress the output

if(empty($output)) {
    echo 'Nothing interesting here!';
}
0 голосов
/ 29 июля 2017

Не беспокойтесь, если require_once выполняется на not. Попробуйте определить, работают ли переменные / функции файлов require_once или нет, с помощью функции отладки, подобной этой: -

var_dump($Your_Variable_Name_from_require_Once_file);
...