Intereting Posts
Статическая функция класса доступа через переменную беспорядок в мета-коробке в WordPress Zend Framework: проверьте, установлен ли Zend View Placeholder Нужна помощь по настройке значения в php Можно ли проанализировать список каталогов на внешней веб-странице? Сортировка массива со специальными символами в PHP Разрешение использования пользовательских доменных имен для проектов веб-приложений 500 внутренних ошибок сервера с запросом POST – Тонкая структура Отправить форму обратной связи Вернуться к index.html Извлечение определенных значений из строки в виде отдельных переменных Получение наборов множественного результата с хранимой процедурой в php / mysqli Как построить дерево в php с идентификаторами id, parent_id и глубиной Выделите несколько дней в календаре codeigniter Используйте php для запуска другого php-скрипта, затем игнорируйте PHP Использование imagegrabscreen

Перевод кода: ASP.NET Server.Transfer в PHP

Как мне это сделать в 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 ();