Как мне это сделать в PHP?
Server.Transfer("/index.aspx")
(добавить ';' для C #)
РЕДАКТИРОВАТЬ:
Важно, чтобы URL-адрес оставался таким же, как и раньше; вы знаете, для Google. В моей ситуации у нас есть куча .html-файлов, которые мы хотим передать, и для клиента важно, чтобы адресная строка не менялась.
Насколько я знаю, PHP не обладает реальной способностью передавать, но вы можете получить тот же эффект, используя include () или require () следующим образом:
require('/index.aspx");
Самый простой способ – использовать перенаправление header
.
header('Location: /index.php');
Изменить. Или вы можете просто включить файл и выйти, если вы не хотите использовать HTTP-заголовки.
Использование require будет похоже на server.transfer, но в некоторых случаях это будет немного отличаться. Например, когда вывод уже отправлен в браузер и требуется использование, будет показан вывод, уже отправленный в браузер, а также путь, который вам нужен.
Лучший способ имитировать C # / ASP.NET Server.Transfer () – правильно настроить буферизацию вывода PHP, а затем использовать следующую функцию, которую я написал.
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 ();