# radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

### 说明

radius_put_attr ( resource `$radius_handle` , int `$type` , string `$value` [, int `$options` = 0 [, int `$tag` ]] ) : bool

Attaches a binary attribute to the current RADIUS request.

> Note:

> A request must be created via radius_create_request() before this function can be called.

### 参数

`radius_handle`

  The RADIUS resource.

`type`

  The attribute type.

`value`

  The attribute value, which will be treated as a raw binary string.

`options`

  A bitmask of the attribute options. The available options include `RADIUS_OPTION_TAGGED` and `RADIUS_OPTION_SALT`.

`tag`

  The attribute tag. This parameter is ignored unless the `RADIUS_OPTION_TAGGED` option is set.

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 radius_put_attr() example

    <?php
    mt_srand(time());
    $chall = mt_rand();
    $chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
    $pass = pack('CH*', 1, $chapval);
    if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
        echo 'RadiusError:' . radius_strerror($res). "\n<br />";
        exit;
    }
    ?>

### 更新日志

版本 | 说明
--- | ---
PECL radius 1.3.0 | The `options` and `tag` parameters were added.

### 参见

- radius_get_attr() - Extracts an attribute
- radius_get_vendor_attr() - Extracts a vendor specific attribute
- radius_put_vendor_attr() - Attaches a vendor specific binary attribute