PHP Catch "Пусто" включает - PullRequest
       13

PHP Catch "Пусто" включает

2 голосов
/ 05 декабря 2009

У нас есть пользовательская среда, которую мы используем, которая позволяет include кодировать другие страницы. Однако заголовок для этого кода всегда печатается, даже если код include ничего не выводит. Есть ли способ, которым я могу exit или return что-то конкретное, что я могу ловить и ловить через include / require, чтобы я мог делать правильные вещи?

Ответы [ 2 ]

5 голосов
/ 05 декабря 2009

Активируйте выходной буфер, включите файл и проверьте его содержимое:

ob_start();
include "file.php";
$content = ob_get_contents();
ob_end_clean();

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

С наилучшими пожеланиями, Fabian

3 голосов
/ 05 декабря 2009

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

Например. Создайте файл с именем myinclude.php:

<?php

$a = 9192*9192;
return a;

Затем создайте второй файл и включите первый:

<?php

$res = include("myinclude.php");
echo $res;

Да, на самом деле это работает. См. справочную страницу для более подробной информации. Также обратите внимание, что если из файла включения явно ничего не возвращается, include () вернет «ОК» (как ни странно). Это также работает для require (), include_once () и require_once ().

...