兼容性函数 | Compatibility Functions
Compatibility Functions
CodeIgniter提供了一组兼容性功能,使您可以使用PHP本身可用的功能,但只能使用更高版本或取决于特定扩展名的功能。
作为自定义实现,这些函数自身也会有一些依赖项,但如果PHP安装程序本身不提供这些依赖项,它们仍然很有用。
注意
与常见功能非常相似,兼容性功能始终可用,只要满足其相关性即可。
- 密码散列
密码散列
这组兼容性函数提供了PHP的标准密码散列扩展的“后端”,否则这些扩展只能在PHP 5.5之后才可用。
依赖
- PHP 5.3.7
常量
PASSWORD_BCRYPT
功能参考
password_get_info($hash)
参数: | $ hash(字符串) - 密码哈希 |
---|---|
返回: | 有关散列密码的信息 |
返回类型: | 排列 |
$ hash
(字符串
) - 密码哈希
返回:有关散列密码的信息
Return type: array
有关更多信息,请参阅[PHP手册的密码\ _get \ _info()](https://php.net/password_get_info)。
password_hash($password, $algo[, $options = array()])
参数: | $ password(string) - 纯文本密码$ algo(int) - 散列算法$ options(array) - 散列选项 |
---|---|
返回: | 散列密码或FALSE失败 |
返回类型: | 串 |
$密码
(字符串
) - 纯文本密码
返回:散列密码或失败时为FALSE
Return type: string
有关更多信息,请参阅[PHP手册的密码\ _hash()](https://php.net/password_hash)。
注意
除非你提供你自己的(和有效的)salt,否则这个函数进一步依赖于可用的CSPRNG源。以下每一项都可以满足以下要求: - mcrypt_create_iv()
使用MCRYPT_DEV_URANDOM
- openssl_random_pseudo_bytes()
- / dev / arandom - / dev / urandom
password_needs_rehash()
参数: | $ hash(字符串) - 密码散列$ algo(int) - 散列算法$ options(数组) - 散列选项 |
---|---|
返回: | 如果哈希应该重新映射以匹配给定算法和选项,则为TRUE;否则为FALSE |
返回类型: | 布尔 |
$ hash
(字符串
) - 密码哈希
返回:如果哈希应该重新映射以匹配给定的算法和选项,则返回TRUE;否则返回FALSE
Return type: bool
有关更多信息,请参阅[PHP手册中的密码\ _needs \ _rehash()](https://php.net/password_needs_rehash)。
password_verify($password, $hash)
参数: | $ password(字符串) - 纯文本密码$ hash(字符串) - 密码哈希 |
---|---|
返回: | 如果密码与散列相匹配则为TRUE,否则为FALSE |
返回类型: | 布尔 |
$密码
(字符串
) - 纯文本密码
返回:如果密码与哈希匹配,则返回TRUE;否则返回FALSE
Return type: bool
有关更多信息,请参阅[PHP手册的密码\ _verify()](https://php.net/password_verify)。
Hash (Message Digest)
这个兼容层包含hash_equals()
和hash_pbkdf2()
函数的backports ,它们分别需要PHP 5.6和/或PHP 5.5。
依赖
- 没有
功能参考
hash_equals($known_string, $user_string)
参数: | $ known_string(string) - 已知字符串$ user_string(字符串) - 用户提供的字符串 |
---|---|
返回: | 如果字符串匹配则为TRUE,否则为FALSE |
返回类型: | 串 |
$ known_string
(字符串
) - 已知字符串
返回:如果字符串匹配则返回TRUE,否则返回FALSE
Return type: string
For more information, please refer to the [PHP manual for hash\_equals()](https://php.net/hash_equals).
hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
参数: | $ algo(string) - 哈希算法$ password(string) - 密码$ salt(字符串) - 哈希salt $ iterations(int) - 派生期间执行的迭代次数$ length(int) - 输出字符串长度$ raw_output(bool) - 是否返回原始二进制数据 |
---|---|
返回: | 密码派生密钥或FALSE失败 |
返回类型: | 串 |
$ algo
(字符串
) - 哈希算法
Returns: Password-derived key or FALSE on failure
Return type: string
有关更多信息,请参阅[PHP手册中的散列\ _pbkdf2()](https://php.net/hash_pbkdf2)。
Multibyte String
这组兼容性函数对PHP的多字节字符串扩展提供了有限的支持。由于替代解决方案有限,只有少数功能可用。
注意
当字符集参数被忽略时,$config['charset']
将被使用。
依赖
- iconv扩展名
重要
这种依赖是可选的,并且这些函数将一直被声明。如果iconv不可用,它们将回退到它们的非mbstring版本。
重要
在提供字符集的情况下,它必须受iconv支持并且采用它可识别的格式。
注意
对于您对实际的mbstring扩展名拥有依赖性检查,请使用该MB_ENABLED
常量。
功能参考
mb_strlen($str[, $encoding = NULL])
参数: | $ str(string) - 输入字符串$ encoding(string) - 字符集 |
---|---|
返回: | 输入字符串中的字符数或失败时的FALSE |
返回类型: | 串 |
$ str
(string
) - 输入字符串
返回:输入字符串中的字符数或失败时的FALSE
Return type: string
有关更多信息,请参阅[PHP的mb \ _strlen()手册](https://php.net/mb_strlen)。
mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
参数: | $ haystack(string) - 在$ needle(string)中搜索的字符串 - 搜索$ offset的字符串的一部分(int) - 搜索偏移量$ encoding(string) - 字符集 |
---|---|
返回: | 找到$ needle的数字字符位置,如果未找到,则为FALSE |
返回类型: | 杂 |
$ haystack
(string
) - 要搜索的字符串
返回:发现$ needle的数字字符位置,如果未找到,则返回FALSE
返回类型:混合
有关更多信息,请参阅[PHP的mb \ _strpos()手册](https://php.net/mb_strpos)。
mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
参数: | $ str(string) - 输入字符串$ start(int) - 第一个字符的位置$ length(int) - 最大字符数$ encoding(string) - 字符集 |
---|---|
返回: | 由$ start和$ length指定的$ str部分或失败时的FALSE部分 |
返回类型: | 串 |
$ str
(string
) - 输入字符串
返回:由$ start指定的$ str部分,如果失败,则为$ length或FALSE
Return type: string
有关更多信息,请参阅[PHP的mb \ _substr()]手册(https://php.net/mb_substr)。
标准函数
这组兼容性函数提供了对PHP中几个标准函数的支持,否则这些函数需要更新的PHP版本。
依赖
- 没有
功能参考
array_column(array $array, $column_key[, $index_key = NULL])
参数: | $ array(array) - 从$ column_key获取结果的数组(混合) - 从$ index_key返回值的列的键(混合) - 用于返回值的键 |
---|---|
返回: | 表示输入数组中单个列的值数组 |
返回类型: | 排列 |
$ array
(array
) - 从中获取结果的数组
返回:表示输入数组中单个列的值数组
返回类型:数组
有关更多信息,请参考[PHP手册中的array \ _column()](https://php.net/array_column)。
hex2bin($data)
参数: | $ data(array) - 数据的十六进制表示 |
---|---|
返回: | 给定数据的二进制表示 |
返回类型: | 串 |
$ data
(array
) - 数据的十六进制表示
返回:给定数据的二进制表示
Return type: string
有关更多信息,请参阅[PHP手册的hex2bin()](https://php.net/hex2bin)。