Использование require будет похоже на server.transfer, но в некоторых случаях его поведение будет немного другим. Например, если выходные данные уже отправлены в браузер и используется require, будут отображены выходные данные, уже отправленные в браузер, а также требуемый путь.
Лучший способ имитировать C # / ASP.NET Server.Transfer () - правильно настроить PHP Output Buffering, а затем использовать следующую функцию, которую я написал.
function serverTransfer($path) {
if (ob_get_length() > 0) {
ob_end_clean();
}
require_once($path);
exit;
}
Настроить буферизацию вывода так же просто, как использовать ob_start (), как в первой строке, вызываемой вашим PHP-приложением. Более подробную информацию можно найти здесь: http://php.net/manual/en/function.ob-start.php
ASP.NET по умолчанию включает буферизацию вывода, поэтому это не обязательно при использовании Server.Transfer ();