output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_add_rewrite_varДобавляет значения в обработчик перезаписи URL

Описание

output_add_rewrite_var(string$name, string$value): bool

Функция запускает обработчик буфера вывода «URL-Rewriter», если он не активен, сохраняет значения параметров name и value, и когда буфер сбрасывается, перезаписывает URL-адреса и формы на основе пригодных ini-настроек. Очередные вызовы функции будут сохранять все дополнительные пары имя/значение до тех пор, пока обработчик не будет отключен.

Когда буфер вывода сбрасывается (вызовом функций ob_flush(), ob_end_flush(), ob_get_flush() или в конце работы скрипта), обработчик «URL-Rewriter» добавляет в атрибуты HTML-тегов пары имя/значение в качестве параметров запроса для URL-адресов и скрытые поля на основе значений директив конфигурации url_rewriter.tags и url_rewriter.hosts в формы.

Каждая пара имя/значение, добавленная в обработчик «URL-Rewriter», будет добавлена в URL-адреса и/или формы, даже если это приведёт к дублированию URL-параметров запроса или элементов с одинаковыми названиями атрибутов.

Замечание: После отключения обработчика «URL-Rewriter» его невозможно запустить снова.

Список параметров

name

Имя параметра.

value

Значение параметра.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Список изменений

ВерсияОписание
7.1.0 Начиная с PHP 7.1.0 функция использует выделенный буфер вывода, директива url_rewriter.tags учитывается только при работе с функциями вывода, а директива url_rewriter.hosts доступна. До PHP 7.1.0 переменные перезаписи, установленные функций output_add_rewrite_var(), использовали общий буфер вывода с поддержкой прозрачного идентификатора сессии (смотрите описание директивы session.trans_sid_tags).

Примеры

Пример #1 Пример использования функции output_add_rewrite_var()

<?php

ini_set
('url_rewriter.tags', 'a=href,form=');

output_add_rewrite_var('var', 'value');

// несколько ссылок
echo '<a href="file.php">ссылка</a>
<a href="http://example.com">ссылка2</a>'
;

// форма
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>'
;

print_r(ob_list_handlers());
?>

Результат выполнения приведённого примера:

<a href="file.php?var=value">ссылка</a> <a href="http://example.com">ссылка2</a> <form action="script.php" method="post"> <input type="hidden" name="var" value="value" /> <input type="text" name="var2" /> </form> Array ( [0] => URL-Rewriter )

Смотрите также

To Top