PHP 8.4.0 RC4 available for testing

output_add_rewrite_var

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

output_add_rewrite_varAdiciona valores de reescritor de URL

Descrição

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

Esta função inicia o manipulador de buffer de saída 'URL-Rewriter' se ele não estiver ativo, armazena os parâmetros name e value, e quando o buffer é descarregado reescreve os URLs e formulários com base nas configurações ini aplicáveis. As chamadas subsequentes a esta função armazenarão todos os pares nome/valor adicionais até que o manipulador seja desligado.

Quando o buffer de saída é descarregado (chamando ob_flush(), ob_end_flush(), ob_get_flush() ou no final do script), o manipulador 'URL-Rewriter' adiciona os pares nome/valor como parâmetros de consulta para URLs em atributos de etiquetas HTML e adiciona campos ocultos aos formulários com base nos valores das diretivas de configuração url_rewriter.tags e url_rewriter.hosts.

Cada par nome/valor adicionado ao manipulador 'URL-Rewriter' é adicionado aos URLs e/ou formulários, mesmo que isso resulte em parâmetros de consulta de URL duplicados ou elementos com atributos de mesmo nome.

Nota: Depois que o manipulador 'URL-Rewriter' for desligado, ele não poderá ser iniciado novamente.

Parâmetros

name

O nome da variável.

value

O valor da variável.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
7.1.0 A partir do PHP 7.1.0, um buffer de saída dedicado é usado, url_rewriter.tags é usado somente para funções de saída e url_rewriter.hosts está disponível. Antes do PHP 7.1.0, variáveis ​​de reescrita definidas por output_add_rewrite_var() compartilhavam um buffer de saída com suporte transparente para ID de sessão (veja session.trans_sid_tags).

Exemplos

Exemplo #1 Exemplo de output_add_rewrite_var()

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

output_add_rewrite_var('var', 'value');

// alguns "links"
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>'
;

// um formulário
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>'
;

print_r(ob_list_handlers());
?>

O exemplo acima produzirá:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
2
Anonymous
16 years ago
For a completely valid XHTML document you have to set the arg_separator, use this before you use output-add-rewrite-var:

<?php
ini_set
('arg_separator.input', '&');
ini_set('arg_separator.output', '&');
?>
up
2
Niko
16 years ago
This function also adds a parameter to <input type="image"> fields!

Example:
This code:

<?
output_add_rewrite_var ('var','value');
echo '<form action="" method="post">
<input type="image" src="image.jpg" alt="go">
</form>';
?>

will output something like this:

<form action="" method="post">
<input type="hidden" name="var" value="value">
<input type="image" src="image.jpg?var=value" alt="go">
</form>
To Top