PHP 8.2.0 RC7 available for testing

output_add_rewrite_var

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

output_add_rewrite_var添加URL重写器的值(Add URL rewriter values)

说明

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

此函数给URL重写机制添加名/值对。 这种名值对将被添加到 URL(以 GET 参数的形式)和表单(以 input 隐藏域的形式),当透明 URL 重写用 session.use_trans_sid 开启时同样可以添加到 session ID。

此函数的行为受 url_rewriter.tagsurl_rewriter.hosts php.ini 参数控制。

注意,每个请求最多可以成功调用此函数一次。

注意: 如果还没有活跃的输出缓冲区,调用此函数将隐式地开启它。

参数

name

变量名。

value

变量值。

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
7.1.0 在 PHP 7.1.0 之前,使用 output_add_rewrite_var() 设置重写变量使用相同的 Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 起,使用专用的输出缓冲区, url_rewriter.tags 仅用于输出函数,新增 url_rewriter.hosts

范例

示例 #1 output_add_rewrite_var() example

<?php
output_add_rewrite_var
('var''value');

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

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

print_r(ob_list_handlers());
?>

以上例程会输出:

<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
)

参见

add a note

User Contributed Notes 3 notes

up
1
Anonymous
14 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
1
Niko
14 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>
up
-7
Bruce
15 years ago
Just to clarify...

session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
To Top