Intereting Posts

Возврат из файла include

в PHP, как вернуться из включенного сценария обратно в скрипт, где он был включен?

IE:

1 – основной сценарий 2 – приложение 3 – включено

В принципе, я хочу вернуться с 3 до 2, return () не работает.

Код в 2 – приложение

$page = "User Manager"; if($permission["13"] !=='1'){ include("/home/radonsys/public_html/global/error/permerror.php"); return(); } 

Solutions Collecting From Web of "Возврат из файла include"

includeme.php:

 $x = 5; return $x; 

main.php:

 $myX = (include 'includeme.php'); 

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

return должен работать, как указано в документации .

Если текущий файл сценария был включен () ed или require () ed, тогда управление передается обратно в вызывающий файл. Кроме того, если текущий файл сценария был включен () ed, то значение, возвращаемое return (), будет возвращено как значение вызова include ().

Я знаю, что на это уже был дан ответ, но я думаю, что у меня есть хорошее решение …

main.php

 function test() { $data = 'test'; ob_start(); include( dirname ( __FILE__ ) . '/included.php' ); return ob_get_clean(); } 

included.php

 <h1>Test Content</h1> <p>This is the data: <?php echo $data; ?></p> 

Я просто включил $data чтобы показать, что вы все равно можете передавать данные во включенный файл, а также возвращать включенный файл.

Hm, руководство PHP не соглашается с вами. return должен освободить вас из включенного файла. Разумеется, это не будет работать изнутри функции.

См. Пример № 5 в документации для include .

Вы можете получить возвращаемое значение скрипта при его включении, например:

 $foo = include 'script.php';